antiFilter ( textToFilter ; filterAllow ; filterSubChar ; start ; stop ; textBuilt )
replace any character not specified in the allowed list with the substitute character
Average rating: 4.4 (35 votes) Log in to vote
Function definition: (Copy & paste into FileMaker's Edit Custom Function window)
The impetus for the custom function was to have a way to override FileMaker's built in word separators when using LeftWords (and other word evaluation functions). This tail recursive function will build a new string, substituting any non-allowed characters with the substitute character.
A call would look something like this...
textToFilter = TO::someField;
filterAllow = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
cf_AntiFilter (textToFilter ; filterAllow ; " " ; 1 ; Length (textToFilter) ; "")
May 5, 2012
wouldn't it be shorter to have it:
Case ( start < ( Length ( textToFilter ) + 1 );
charToSub = Middle ( textToFilter; start; 1);
textBuilt = Case ( IsEmpty ( Filter ( charToSub; filterAllow )); filterSubChar; charToSub )
& antiFilter ( textToFilter; filterAllow; filterSubChar; start + 1 )
Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.