CurrentQuoted (StringTokenizer function)

From m204wiki
Jump to navigation Jump to search

Is current token a quoted token? (StringTokenizer class)


This method returns a Boolean value that indicates whether the current token is a quoted token. A quoted token contains all the characters between a pair of identical quotation characters.

The CurrentQuoted value is True if the current token is quoted; otherwise it is False.

Syntax

%boolean = stringTokenizer:CurrentQuoted

Syntax terms

%boolean An enumeration object of type Boolean to contain the returned value of CurrentQuoted.
stringTokenizer A StringTokenizer object expression.

Usage notes

  • The Quotes characters are initially settable in the New call that creates the tokenizer instance.
  • A quotation character may participate in only one quoted region. The first quotation character from the beginning of the tokenization string is paired with the following identical quotation character in the string. An unpaired quotation character causes a request cancellation.
  • A quoted region is not affected by the TokensToLower and TokensToUpper properties.
  • The RemoveQuotes property controls whether quotes are removed from the returned values of quoted tokens.

Examples

  1. In the following request fragment, the selection of a quoted token is verified by a CurrentQuoted call:

    %tok = new(quotes='"') %tok:string = 'simple "quoted tokens" example' PrintText {~} is: {%tok:nextToken} PrintText {~} is: {%tok:nextToken} PrintText {~} is: {%tok:currentToken} PrintText {~} is: {%tok:currentQuoted}

    The result is:

    %tok:nextToken is: simple %tok:nextToken is: quoted tokens %tok:currentToken is: quoted tokens %tok:currentQuoted is: True

    Note: Printing an enumeration value is described in the ToString property discussion in Usage notes on the Enumerations page.

  2. If QuotesBreak is False and only part of a token is quoted, CurrentQuoted returns True only if, unlike below, the quoted part is at the beginning of the token:

    %tok = new(quotes='"', Separators=',') %tok:quotesbreak = False %tok:string = 'about the, ben"jamins"' PrintText {~} is: {%tok:nextToken} PrintText {~} is: {%tok:nextToken} PrintText {~} is: {%tok:currentQuoted}

    The result is:

    %tok:nextToken is: about the %tok:nextToken is: benjamins %tok:currentQuoted is: False

    If the tokenizer string in this example were about the, "ben"jamins, CurrentQuoted would return True in accord with the SOUL concept that a quoted token does not end until it reaches a space or separator character after the closing quotation mark character. For further discussion of SOUL quoted-string handling, see Double quotation marks for quoted strings.

    See also