Brian Dunning's FileMaker Custom Functions

PositionCS ( Text ; TextToSearch ; Start ; Occurrence )

Case-sensitive Position() function

  Average rating: 4.3 (31 votes) Log in to vote

Christian Jäger   Christian Jäger
contact: cjaeger @ www.fmforums.com
Hannover, Germany

Share on Facebook Share on Twitter

  Sample input:
PositionCS("AaBaabcD",""a";1;1)
  Sample output:
2

(Strangely enough, this is NOT normal in FMP7!)

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

For the average user, it is quite hard to understand why FileMaker made some functions and ScriptSteps case insensitive. It is very easy to render a function case- insensitive by using the uppercase() or lowercase() functions on the text argument, but is rather complicated or sometimes even impossible to render a function Case-senSiTiVe. This wrecks most of my FMP6 solutions in FMP7.

One of the most vital functions is Position(). Another is PatternCount().

Position("ABCDEabcde";"a";1;1) used to result in 6 in FileMaker 6, and now returns 1(as in Position(lowercase("ABCDEabcde";1;1)).

PatternCount("Aa";"a") gives 2 instead of 1.

The functions above will not work if the marker string is already found in the text

Use the enhanced function for encoding, (as in MagicEncoder or ASCII Coder) or to highlight text CaSEsensiTIVEly.

Enjoy.


 

Comments

Eric   Eric, SJSU
Sep 25, 2020
Doesn't work in 19.
 
Alex Zueiv   Alex Zueiv, Tashkent
Dec 11, 2021
Replace() is a function that requires 4 parameters. According to the logic of this CF, there should be the Substitute() function.
 

Log in to post comments.

 

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

Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 20 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth: