Before ( )

Function stats

Average user rating
3.3333
37
84
9999
Support
FileMaker 7.0 +
Date posted
25 November 2008
Last updated
20 March 2010
Version
Recursive function
No

Author Info
 Fabrice

74 functions

Average Rating 4.4

author_avatar



 

Function overview

Prototype

Before  ( _text;   _searchString;   _occurrence;   _include_boolean )


Parameters

_text  


_searchString  


_occurrence  


_include_boolean  


Description

Tags:  text parsing  

extracts the beginning of a text, based on a search string and an occurrence number
occurrence can be positive (starting from the beginning of the text) or negative (starting from the end)

see also After, Between, and BetweenNext functions

Examples

Sample input

Before ( "abcd" ; _"c" ; 1 ; 0 )


Sample output

"ab"

 

Function code

/*
Before ( _text ; _searchString ; _occurrence ; _include_boolean )

by Fabrice Nordmann
v.2.1 Mar 2010
v.2, Mar 2007
v.1, Jan 2007

v2 adds inclusion boolean parameter.

extracts the beginning of a text, based on a search string and an occurrence number
occurrence can be positive (starting from the beginning of the text) or negative (starting from the end)

see also After, Between, and BetweenNext functions
*/

Case ( PatternCount ( _text ; _searchString ) ;
Let ( _occurrence = Case ( _occurrence = 0 ; 1 ; _occurrence )
;
Left ( _text ;
Position ( _text ; _searchString ; Case ( _occurrence < 0 ; Length ( _text ) ; 1 ) ; _occurrence ) - 1 + GetAsBoolean ( _include_boolean ) * Length ( _searchString )
)
))

// ===================================
/*

    This function is published on FileMaker Custom Functions
    to check for updates and provide feedback and bug reports
    please visit http://www.fmfunctions.com/fid/84

    Prototype: Before( _text; _searchString; _occurrence; _include_boolean )
    Function Author: Fabrice (http://www.fmfunctions.com/mid/37)
    Last updated: 20 March 2010
    Version: 1.2

*/
// ===================================

 

 

 

 

 

 

 

Top Tags

Text Parsing  (33)
List  (31)
Date  (28)
XML  (26)
Format  (23)
Sql  (22)
Dev  (20)
Debug  (17)
Interface  (15)
Layout  (15)
Text  (14)
Variables  (12)
Layout Objects  (11)
Filter  (11)
Design  (10)
Array  (7)