她有三个构造函数:
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