ReplaceWords ( text ; searchstring ; replacestring )
replace multi values in a text
Average rating: 4.3 (28 votes) Log in to vote
Michael Bijnens freelance developer / |
"FileMaker Pro 12 has several new features and thats why you have to buy FileMaker Pro 12" ;
"12" ;
"13"
)
Function definition: (Copy & paste into FileMaker's Edit Custom Function window)
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 !
Comments
oliver May 20, 2014 |
||
And this is different from the built-in Substitute() … how? | ||
Michael Bijnens, Belgium May 20, 2014 |
||
@ Oliver I have edit the explanation of the CF. |
||
oliver May 20, 2014 |
||
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 ) ) ) ) |
||
Michael Bijnens, Belgium May 20, 2014 |
||
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 |
||
Shevy, Lagos Apr 27, 2015 |
||
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.. |
||
Andy Nov 21, 2015 |
||
There seems to have a bug. If you replace a word say "city" with the word itself, the loop will be endless. | ||
Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.