FindToken (StringTokenizer function)
Search for specified token (StringTokenizer class)
This callable method returns a Boolean enumeration value that indicates whether
it finds a specified token. The value is True
if the token is found; otherwise it is False
.
The search starts from the tokenizing position, the value of which is returned by NextPosition.
If the token is found, the position in the string is advanced past the found token, and CurrentToken
will return the found token.
Otherwise, AtEnd is set to True
, and CurrentToken
is set to the last token at the end of the string.
Syntax
[%boolean =] stringTokenizer:FindToken( string) Throws MismatchedQuote
Syntax terms
%boolean | An enumeration object of type Boolean to contain the returned value of FindToken. |
---|---|
stringTokenizer | A StringTokenizer object expression. |
string | A string that is the token to be located. |
Usage notes
- For a new StringTokenizer instance, issuing FindToken, NextToken, or SkipTokens is required before CurrentToken may be issued without error.
- The NextToken and PeekToken functions also return the next token. Like FindToken, NextToken advances the tokenizing position to the character or position following that token. PeekToken, however, does not advance the tokenizing position.
Examples
The following code fragment shows a FindToken call that locates its target, then a FindToken call that does not locate its target:
%tok = new(tokenchars='-') %tok:string = 'Content-Transfer-Encoding: 7bit' PrintText {~} is {%tok:findToken('Transfer')} PrintText {~} is {%tok:findToken('8bit')} PrintText {~} is {%tok:AtEnd} PrintText {~} is {%tok:currentToken}
The result is:
%tok:findToken('Transfer') is True %tok:findToken('8bit') is False %tok:AtEnd is True %tok:currentToken is 7bit
Note: Printing an enumeration value is described in the ToString property discussion in "Usage notes".