The string tokenizer class allows an application to break a string into tokens. A token is returned by taking a substring of the string that was used to create the StringTokenizer object. There are three ways to construct a StringTokenizer.
public class Program {
public static void main(String[] args) {
System.out.println("Case 1.");
StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
System.out.println("Case 2.");
st = new StringTokenizer("this,is a=test", " ,=");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
System.out.println("Case 3.");
st = new StringTokenizer("this,is a=test", " ,=", true);
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
System.out.println("Case 4.");
st = new StringTokenizer("this,is a=test", " ,=", false);
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
The output is
Case 1.
this
is
a
test
Case 2.
this
is
a
test
Case 3.
this,
is
a
=
test
Case 4.
this
is
a
test
StringTokenizer is pretty straight forward. You can separate a String by any delimiters that you choose such as a blank space, or a comma. Once you create a StringTokenizer object with a String, like above example. You can call nextToken() to get the next block of String (token).
StringTokenizer helps me remember the same utility i used in shell and php language before. In shell, we use IFS environment variable and for loop to break one string variable into array. Meanwhile, we can use explode method to parse the string into array with the designed delimiters.