Text parsing: Position, Middle, Left, Right, Filter

Expert

Extract, locate, and clean substrings using FileMaker's native text functions without regular expressions.

What you'll learn

  • How Position() locates a substring and returns its character index
  • How to extract substrings with Middle() relative to a found position
  • How Filter() strips all characters not in a specified set

FileMaker's text functions provide a complete toolkit for string manipulation. Combining Position(), Middle(), Left(), Right(), and Filter() with Let() enables sophisticated parsing — extracting domains from emails, parsing delimited data, or stripping non-numeric characters — entirely within a calculation field.

1/3
1

Position() to find a delimiter

Position(text; searchString; start; occurrence) returns the character position of the nth occurrence of searchString. Returns 0 if not found.

FileMaker Script
// Extract domain from email address
Let ( [
  email = Contacts::Email ;
  atPos = Position ( email ; "@" ; 1 ; 1 )
] ;
  If ( atPos > 0 ;
    Middle ( email ; atPos + 1 ; Length ( email ) ) ;
    ""
  )
)

Sign in to track your progress and pick up where you left off.

Sign in to FM Dojo