Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
Training
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages
Videos
Adventures
Links

Shopping Cart
Shopping Cart

Search:

Free Newsletter
Signup


Contact


Privacy Policy



FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.

 

 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

ReplaceWords ( text ; searchstring ; replacestring )

Rate this function:  

RatingRatingRatingRatingRating
  Average rating: 4.3  (29 votes)
  Discuss this Custom Function

Michael Bijnens, freelance developer
/

replace multi values in a text

Sample Input:
Replacewords (
"FileMaker Pro 12 has several new features and thats why you have to buy FileMaker Pro 12" ;
"12" ;
"13"
)
Sample Output:
"FileMaker Pro 13 has several new features and thats why you have to buy FileMaker Pro 13"


 Then copy & paste into FileMaker Advanced's Edit Custom Function window.

Description:

This CF can replace strings in a text.


** Difference between default substitute function:

Example :

Substitute ( "HOB" ; "OB" ; "HOB" )
result = "HHOB"
* FileMaker's substitute function find "OB" in the word "HOB" and replaces it into "HHOB".

ReplaceWords ( "HOB" ; "OB" ; "HOB" )
result = "HOB"
* CF ReplaceWords does not find "OB" as a word so it doesn't change anything.

** -----------------------------------------------------

ReplaceWords does only replace the compleet string not a part of a string !

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it

Discuss:

5 most recent comments | Show all 6 comments

@ Oliver

I have edit the explanation of the CF.

Michael Bijnens, Belgium
May 20, 2014 4:57am

Michael –

you're replacing words (or technically: values, after converting the string into a list by using the space character as delimiter), not text per se, so the function name is misleading..

Also, the recursive call in your CF uses a different function name …

And finally, you can do this much easier and non-recursive like …

ReplaceWords ( theText ; searchFor ; replaceWith ) =

Let (
~l = Substitute ( theText ; " " ; ¶ ) ;
Case (
searchFor = replaceWith or not PatternCount ( ¶ & ~l & ¶ ; ¶ & searchFor & ¶ ) ;
theText ;
Let ( [
r = Substitute ( ¶ & ~l ; ¶ & searchFor ; ¶ & replaceWith ) ;
res = Substitute ( r ; ¶ ; " " )
] ;
Middle ( res ; 2 ; Length ( res ) - 1 )
)
)
)

Oliver, Tegernsee
May 20, 2014 8:07am

Oliver -

I'm happy to get some feedback.. I have changed the CF name.

maybe your function is non-recursive but it has limits if you want to use it in a different
way.

I generally use it in script ( loops ).

mit freundlichen Grüßen,
Michael

Michael Bijnens, Belgium
May 20, 2014 8:19am

I really love this CF. In my solution, I want to make a search of some group of contacts who mistakenly entered gender as "Male" instead of "Female" , and then change all those to "Female"

How can I achieve that with this CF?
You mentioned using it in scripts, can you please give a simple script step example?

Thanks..

Shevy, Lagos
April 27, 2015 2:17pm

There seems to have a bug. If you replace a word say "city" with the word itself, the loop will be endless.

Andy, Beijing
November 21, 2015 3:52pm

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

Your Name:
City/Location:
Comment:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 8 + 6 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. HexUUIDToNum_cf (_uuid)
  (Sat, Jun 16, 1:55pm)
2. httpResponseCode ( responseHeaders )
  (Tue, Jun 12, 10:40pm)
3. FindDuplicateCharacters ( string )
  (Fri, Jun 08, 5:01pm)
4. FieldRepetitionLast ( field ; maxRepetition )
  (Wed, Jun 06, 6:05pm)
5. CountModifiedRecords ( NameTimestampField ; StartTimestamp ; EndTimestamp )
  (Mon, May 28, 8:23am)
6. JSONArrayLength ( JSONArrayStr )
  (Fri, May 25, 7:46am)
7. interpolation (y1; y2; y3; x1; x2; x3; x1y1; x2y1; x1y2; x2y2; rnd)
  (Sat, May 19, 3:55am)
8. @JSONFormatElements ( json )
  (Tue, May 15, 3:31am)

RSS Feed of Custom Functions