====== KeepBefore(text, before_string) ====== Category: Text function \\ =====Description===== This function returns characters before the first occurrence of //before_string// in //text//, if found. If //before_string// is not found within //text// and "empty" value is returned. \\ =====Alternative syntax===== This function can take an optional third numeric parameter to define the instance of //before_string// used in the search. If //instance_num// is negative, the match starts from the end of //text//. KeepBefore(text, before_string, instance_num) \\ =====Arguments===== ^Argument^Type^Description^ |text|Text|The text value to search within for the //after_string// string.| |before_string|Text (must //not// be empty)|The text string to search for within //text//. The characters before this string are returned.| |instance_num*|Number (non-zero integer)|The occurrence of //before_string// to use as the delimiter to return the text following.| *Optional argument. **Return value type:** Text \\ =====Remarks===== This function is case sensitive. //text// and //before_string// are implicitly converted to text values if required. \\ =====Examples===== keepbefore('5pm', 'pm') //Returns '5' keepbefore('October 2015', '2015') //Returns 'October ' (Note the space after 'October' is retained) keepbefore('a/a/b/b/c/d', 'b/') //Returns 'a/a/' (Second argument can be multiple characters) keepbefore('a/b/c/d', '/', 2) //Returns 'a/b' (Keep text before the second instance of '/') keepbefore('a/b/c/d', '/', -1) //Returns 'a/b/c' (Keep text before the second instance of '/', from the end) keepbefore('a/b/c/d', 'z') //Returns (empty) ('z' not found within the text value) \\ ===== See also ===== * [[syntax:functions:keepafter|KeepAfter(text, after_string)]] * [[syntax:functions:removestart|RemoveStart(text, remove_num)]]