$ParseX

From m204wiki
Revision as of 23:53, 18 March 2019 by Dme (talk | contribs) (→‎Syntax)
Jump to navigation Jump to search

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.

Products authorizing $ParseX