public class StringTokenizer extends Object implements 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
:
false
, delimiter code points serve to separate
tokens. A token is a maximal sequence of consecutive code points that are not
delimiters.
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 and Description |
---|
StringTokenizer(String string)
Constructs a new
StringTokenizer for the parameter string using
whitespace as the delimiter. |
StringTokenizer(String string,
String delimiters)
Constructs a new
StringTokenizer for the parameter string using
the specified delimiters. |
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 . |
Modifier and Type | Method and Description |
---|---|
int |
countTokens()
Returns the number of unprocessed tokens remaining in the string.
|
boolean |
hasMoreElements()
Returns
true if unprocessed tokens remain. |
boolean |
hasMoreTokens()
Returns
true if unprocessed tokens remain. |
Object |
nextElement()
Returns the next token in the string as an
Object . |
String |
nextToken()
Returns the next token in the string as a
String . |
String |
nextToken(String delims)
Returns the next token in the string as a
String . |
public StringTokenizer(String string)
StringTokenizer
for the parameter string using
whitespace as the delimiter. The returnDelimiters
flag is set to
false
.string
- the string to be tokenized.public StringTokenizer(String string, String delimiters)
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
.string
- the string to be tokenized.delimiters
- the delimiters to use.public StringTokenizer(String string, String delimiters, boolean returnDelimiters)
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
.string
- the string to be tokenized.delimiters
- the delimiters to use.returnDelimiters
- true
to return each delimiter as a token.public int countTokens()
Exception
will result from a call to nextToken()
.public boolean hasMoreElements()
true
if unprocessed tokens remain. This method is
implemented in order to satisfy the Enumeration
interface.hasMoreElements
in interface Enumeration<Object>
true
if unprocessed tokens remain.public boolean hasMoreTokens()
true
if unprocessed tokens remain.true
if unprocessed tokens remain.public Object nextElement()
Object
. This method is
implemented in order to satisfy the Enumeration
interface.nextElement
in interface Enumeration<Object>
Object
NoSuchElementException
- if no tokens remain.public String nextToken()
String
.String
.NoSuchElementException
- if no tokens remain.public String nextToken(String delims)
String
. The delimiters
used are changed to the specified delimiters.delims
- the new delimiters to use.String
.NoSuchElementException
- if no tokens remain.