public class StringTokenizer

  1. Object
  2. StringTokenizer

ImplementsEnumeration<Object>

The StringTokenizer class allows an application to break a string into tokens by performing code point comparison. The StringTokenizer methods do not distinguish among identifiers, numbers, and quoted strings, nor do they recognize and skip comments.

The set of delimiters (the codepoints that separate tokens) may be specified either at creation time or on a per-token basis.

An instance of StringTokenizer behaves in one of three ways, depending on whether it was created with the returnDelimiters flag having the value true or false:

  • If returnDelims is false, delimiter code points serve to separate tokens. A token is a maximal sequence of consecutive code points that are not delimiters.

  • If returnDelims is true, delimiter code points are themselves considered to be tokens. In this case a token will be received for each delimiter code point.

A token is thus either one delimiter code point, or a maximal sequence of consecutive code points that are not delimiters.

A StringTokenizer object internally maintains a current position within the string to be tokenized. Some operations advance this current position past the code point processed.

A token is returned by taking a substring of the string that was used to create the StringTokenizer object.

Here’s an example of the use of the default delimiter StringTokenizer :

StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens()) {
    println(st.nextToken());
}

This prints the following output:

    this
    is
    a
    test

Here’s an example of how to use a StringTokenizer with a user specified delimiter:

StringTokenizer st = new StringTokenizer(
        "this is a test with supplementary characters �𐀀�",
        " 𐀀");
while (st.hasMoreTokens()) {
    println(st.nextToken());
}

This prints the following output:

    this
    is
    a
    test
    with
    supplementary
    characters
    
    

Constructors

public StringTokenizer(String string)Constructs a new StringTokenizer for the parameter string using whitespace as the delimiter.
public StringTokenizer(String string, String delimiters)Constructs a new StringTokenizer for the parameter string using the specified delimiters.
public StringTokenizer(String string, String delimiters, boolean returnDelimiters)Constructs a new StringTokenizer for the parameter string using the specified delimiters, returning the delimiters as tokens if the parameter returnDelimiters is true.

Methods

public int countTokens()Returns the number of unprocessed tokens remaining in the string.
public boolean hasMoreElements()Returns true if unprocessed tokens remain.
public boolean hasMoreTokens()Returns true if unprocessed tokens remain.
public Object nextElement()Returns the next token in the string as an Object.
public String nextToken()Returns the next token in the string as a String.
public String nextToken(String delims)Returns the next token in the string as a String.

Inherited methods

Constructor details

StringTokenizer

public StringTokenizer(String string)
Constructs a new StringTokenizer for the parameter string using whitespace as the delimiter. The returnDelimiters flag is set to false.

Parameters

string String
the string to be tokenized.

StringTokenizer

public StringTokenizer(String string, String delimiters)
Constructs a new StringTokenizer for the parameter string using the specified delimiters. The returnDelimiters flag is set to false. If delimiters is null, this constructor doesn’t throw an Exception, but later calls to some methods might throw a NullPointerException.

Parameters

string String
the string to be tokenized.
delimiters String
the delimiters to use.

StringTokenizer

public StringTokenizer(String string, String delimiters, boolean returnDelimiters)
Constructs a new StringTokenizer for the parameter string using the specified delimiters, returning the delimiters as tokens if the parameter returnDelimiters is true. If delimiters is null this constructor doesn’t throw an Exception, but later calls to some methods might throw a NullPointerException.

Parameters

string String
the string to be tokenized.
delimiters String
the delimiters to use.
returnDelimiters boolean
true to return each delimiter as a token.

Method details

countTokens

public int countTokens()
Returns the number of unprocessed tokens remaining in the string.

Returns

number of tokens that can be retreived before an Exception will result from a call to nextToken().

hasMoreElements

public boolean hasMoreElements()
Returns true if unprocessed tokens remain. This method is implemented in order to satisfy the Enumeration interface.

Returns

true if unprocessed tokens remain.

hasMoreTokens

public boolean hasMoreTokens()
Returns true if unprocessed tokens remain.

Returns

true if unprocessed tokens remain.

nextElement

public Object nextElement()
Returns the next token in the string as an Object. This method is implemented in order to satisfy the Enumeration interface.

Returns

next token in the string as an Object

Throws

NoSuchElementException
if no tokens remain.

nextToken

public String nextToken()
Returns the next token in the string as a String.

Returns

next token in the string as a String.

Throws

NoSuchElementException
if no tokens remain.

nextToken

public String nextToken(String delims)
Returns the next token in the string as a String. The delimiters used are changed to the specified delimiters.

Parameters

delims String
the new delimiters to use.

Returns

next token in the string as a String.

Throws

NoSuchElementException
if no tokens remain.