Class StringTokenizer
- All Implemented Interfaces:
Enumeration<Object>
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
?
?
-
Constructor Summary
ConstructorsConstructorDescriptionStringTokenizer(String string) Constructs a newStringTokenizerfor the parameter string using whitespace as the delimiter.StringTokenizer(String string, String delimiters) Constructs a newStringTokenizerfor the parameter string using the specified delimiters.StringTokenizer(String string, String delimiters, boolean returnDelimiters) Constructs a newStringTokenizerfor the parameter string using the specified delimiters, returning the delimiters as tokens if the parameterreturnDelimitersistrue. -
Method Summary
Modifier and TypeMethodDescriptionintReturns the number of unprocessed tokens remaining in the string.booleanReturnstrueif unprocessed tokens remain.booleanReturnstrueif unprocessed tokens remain.Returns the next token in the string as anObject.Returns the next token in the string as aString.Returns the next token in the string as aString.
-
Constructor Details
-
StringTokenizer
Constructs a newStringTokenizerfor the parameter string using whitespace as the delimiter. ThereturnDelimitersflag is set tofalse.- Parameters:
string- the string to be tokenized.
-
StringTokenizer
Constructs a newStringTokenizerfor the parameter string using the specified delimiters. ThereturnDelimitersflag is set tofalse. Ifdelimitersisnull, this constructor doesn't throw anException, but later calls to some methods might throw aNullPointerException.- Parameters:
string- the string to be tokenized.delimiters- the delimiters to use.
-
StringTokenizer
Constructs a newStringTokenizerfor the parameter string using the specified delimiters, returning the delimiters as tokens if the parameterreturnDelimitersistrue. Ifdelimitersis null this constructor doesn't throw anException, but later calls to some methods might throw aNullPointerException.- Parameters:
string- the string to be tokenized.delimiters- the delimiters to use.returnDelimiters-trueto 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
Exceptionwill result from a call tonextToken().
-
hasMoreElements
public boolean hasMoreElements()Returnstrueif unprocessed tokens remain. This method is implemented in order to satisfy theEnumerationinterface.- Specified by:
hasMoreElementsin interfaceEnumeration<Object>- Returns:
trueif unprocessed tokens remain.
-
hasMoreTokens
public boolean hasMoreTokens()Returnstrueif unprocessed tokens remain.- Returns:
trueif unprocessed tokens remain.
-
nextElement
Returns the next token in the string as anObject. This method is implemented in order to satisfy theEnumerationinterface.- Specified by:
nextElementin interfaceEnumeration<Object>- Returns:
- next token in the string as an
Object - Throws:
NoSuchElementException- if no tokens remain.
-
nextToken
Returns the next token in the string as aString.- Returns:
- next token in the string as a
String. - Throws:
NoSuchElementException- if no tokens remain.
-
nextToken
Returns the next token in the string as aString. The delimiters used are changed to the specified delimiters.- Parameters:
delims- the new delimiters to use.- Returns:
- next token in the string as a
String. - Throws:
NoSuchElementException- if no tokens remain.
-