$ParseX
Part of string following character in delimiter set
Note: Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $ParseX function is the After function. You might also find a more powerful solution in the StringTokenizer class or elements of the Sirius Regex implementation, such as RegexSplit.
This function returns the part(s) of a string that remain after removing the part of the string that is delimited by a character in a delimiter set.
The $ParseX function accepts three arguments and returns a string result that is a part of the first input string.
Syntax
%piece = $ParseX(string, delims, [start_pos])
%piece is a piece of the first argument string.
The first argument is an arbitrary string.
The second argument is a string containing a set of delimiter characters.
The third argument is a starting position after a prefix in the first argument string and has a default of 1.
If the second argument is the null string, $ParseX returns the entire first argument string.
If the second argument is not the null string, and none of the delimiter characters are found, $ParseX returns the prefix (the characters before start_pos).
Examples
The following statement would set %JUNK to WANT|NOT:
%JUNK = $ParseX('WASTE NOT(WANT|NOT', '(|')
The statement below would set %JUNK to NOT:
%JUNK = $ParseX('WASTE NOT(WANT|NOT', '|')
The following statement would set %junk
to WASTENOT
:
%junk = $ParseX('WASTE NOT(WANT|NOT', '|', 6)
Notes:
- This last result string is a concatenation of the prefix (the characters that precede the starting position character in the initial string) and the characters that follow the delimiter character.
- The characters that are not in this result string are exactly the characters that $Parse would return for this same initial string.
- The $Lstr_ParseX function differs somewhat from $Parse. Specifically, $Lstr_ParseX does not use the "prefix" notion; it simply skips the characters prior to the start_pos.