Subset (Stringlist function)

From m204wiki
Jump to navigation Jump to search

Create Stringlist subset (Stringlist class)


This method creates a Stringlist that is a subset of the method Stringlist. The subset is created by selecting all entries that contain a specified search string.

Syntax

%outList = sl:Subset( string, [[StartColumn=] number], [[EndColumn=] number], - [[CaseIndependent=] number], [[ArbitraryQuote=] number])

Syntax terms

%outlist A reference to a Stringlist which is set to the newly-created subset Stringlist.
sl A Stringlist object.
string The string to be located. This argument is called the search string.
StartColumn The starting column number of the range of columns in which the search string must be located. This is an optional argument, and it defaults to 1.
Under Sirius Mods 8.1 and later, this is a name allowed parameter.
EndColumn The ending column number of the range of columns in which the search string must be located. This is an optional argument which defaults to 6124. If endCol is a non-zero integer, the width of the column range is reduced to a maximum of 256.
Under Sirius Mods 8.1 and later, this is a name allowed parameter.
CaseIndependent An indicator for case-insensitive comparisons. If this argument is a non-zero integer, the string comparisons use the Stringlist item data translated to uppercase (so the search string should be passed as an uppercase value). This is an optional argument, and defaults to 0. If this argument is non-zero, the width of the column range specified by the second and third argument values is reduced to a maximum of 256.
Under Sirius Mods 8.1 and later, this is a name allowed parameter.
ArbitraryQuote An indicator for abitrary quote comparisons. If this argument is a non-zero integer, single (') and double(") quotes are considered matches for each other in the string comparisons. This is an optional argument, and defaults to 0. If this argument is non-zero, the width of the column range specified by the second and third argument values is reduced to a maximum of 256. This argument can be useful when searching through procedures that contain code where single and double quotes can be used interchangeably to enclose string literals. Such code includes User Language, Javascript, and XML (including XSLT).

This parameter, available in Sirius Mods 8.1 and later, is a name allowed parameter.

Usage notes

  • If the input Stringlist was associated with an image, by either BindImage or New, the Subset output Stringlist identifier is associated with the same image.
  • While, under Sirius Mods Version 6.6 and later, Stringlist items can be longer than 6124 bytes long, Subset will only look for matches in the first 6124 bytes of any Stringlist item.

Examples

In the following example, a Stringlist is loaded from the contents of a procedure, and all lines that contain the string '%critical' (independent of case) are displayed:

%list = new %rc = $procopn('BIGPROC', 'PROCFILE') %list:appendOpenProcedure %list = %list:subset('%CRITICAL', , , 1) %list:print

See also