她有三个构造函数:
public StringTokenizer(String str)
public StringTokenizer(String str, String delim)
public StringTokenizer(String str, String delim, boolean returnDelims)
含有三个参数的是最终调用的。
参数1:str 要处理的字符串
参数2:delim 要分词的间隔符
参数3:returnDelims 为true时,返回的字符串中,包含分隔符,否则为false时,分隔符不在返回值中。
1、使用StringTokenizer类一个参数的构造方法
package com.sunrex.java.util;
import java.util.StringTokenizer;
public class StringTokenizerTest {
public static void main(String[] args) {
String str = "this is StringTokenizer Test! a";
//使用字符串分词器
StringTokenizer st = new StringTokenizer(str);
while(st.hasMoreTokens()) {
System.out.println("当前分隔符:" +st.countTokens() + "-->" + st.nextToken());
}
//使用正则表达式
String result[] = str.split("\\s");
for(int i=0; i<result.length; i++) {
System.out.println("使用split的结果-->" + result[i]);
}
}
}
输出结果:
当前分隔符:5-->this
当前分隔符:4-->is
当前分隔符:3-->StringTokenizer
当前分隔符:2-->Test!
当前分隔符:1-->a
使用split的结果-->this
使用split的结果-->is
使用split的结果-->StringTokenizer
使用split的结果-->Test!
使用split的结果-->
使用split的结果-->a
2、分词器StringTokenizer的进一了解
package com.sunrex.java.util;
import java.util.StringTokenizer;
public class StringTokenizerTest2 {
public static void main(String[] args) {
String str = "this - is StringTokenizer & Test! a";
String str1 = "01:php";
StringTokenizer st = new StringTokenizer(str, "-&!", true);
// //第一种输出
// while(st.hasMoreElements()) {
// System.out.println(st.nextElement());
// }
//第二种输出
while(st.hasMoreTokens()) {
//使用st.nextToken()
System.out.println(st.nextToken());
}
System.out.println("----------------------------------");
//使用st.nextToken(String delim)
StringTokenizer st1 = new StringTokenizer(str1);
while(st1.hasMoreTokens()) {
//使用st.nextToken()
System.out.println(st1.nextToken(":"));
}
}
}
输出结果:
this
-
is StringTokenizer
&
Test! a
----------------------------------
01
php