$ParseX: Difference between revisions

From m204wiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 20: Line 20:
The third argument is a starting position after a prefix in the first argument string and has a default of 1.
The third argument is a starting position after a prefix in the first argument string and has a default of 1.


<var>$ParseX</var> returns a null string if none of the delimiter characters are found, unless the second argument is the null string (the default), in which case $ParseX returns the entire first argument string.
If the second argument is the null string, <var>$ParseX</var> returns the entire first argument string.
 
If the second argument is <b>not</b> the null string, and none of the delimiter characters are found, <var>$ParseX</var> returns the prefix (the characters before <var class="term">start_pos</var>).


==Examples==
==Examples==
Line 36: Line 38:
<ul>
<ul>
<li>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.
<li>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.
<li>The characters that are '''not''' in this result string are exactly the characters that <var>[[$Parse]]</var> would return for this same initial string.
<li>The characters that are '''not''' in this result string are exactly the characters that <var>[[$ParseX]]</var> would return for this same initial string.
<li>The <var>[[$Lstr_ParseX]]</var> function differs somewhat from <var>$Parse</var>.  Specifically, <var>$Lstr_ParseX</var> does not use the "prefix" notion; it simply skips the characters prior to the <var class="term">start_pos</var>.
<li>The <var>[[$Lstr_ParseX]]</var> function differs somewhat from <var>$ParseX</var>.  Specifically, <var>$Lstr_ParseX</var> does not use the "prefix" notion; it simply skips the characters prior to the <var class="term">start_pos</var>.
</ul>
</ul>



Latest revision as of 03:02, 19 March 2019

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 $ParseX would return for this same initial string.
  • The $Lstr_ParseX function differs somewhat from $ParseX. Specifically, $Lstr_ParseX does not use the "prefix" notion; it simply skips the characters prior to the start_pos.

Products authorizing $ParseX