1.1 StringTokenizer类是一个用来分隔String的应用类。相当于spilt函数
StringTokenizer 方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释。可以在创建时指定,也可以根据每个标记来指定分隔符(分隔标记的字符)集,
StringTokenizer的实例有两种行为方式,这取决于它在创建时使用的returnDelims标志值是true还是false
~~如果标志为false,则分隔符字符用来分隔标记,标记是连续字符(不是分隔符)的最大序列
~~如果标记为true,则认为那些分隔符字符本身即为标记,因此标记要么是一个分隔符字符,要么是那些连续字符(不是分隔符)的最大序列。
StringTokenizer对象在内部维护字符串中要被标记的当前字符串,某些操作将此当前位置移至已处理的字符后,通过截取字符串的一个子串来返回标记,该字符串用于创建StringTokenizer对象。
StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或 java.util.regex 包。
1.2 构造函数:
~~public StringTokenizer(String str)
~~public StringTokenizer(String str, String delim)
~~public StringTokenizer(String str, String delim, boolean returnDelims)
第一个参数就是要分隔的String,第二个是分隔字符集合,第三个参数表示分隔符号是否作为标记返回,如果不指定分隔字符,默认的是:”\t\n\r\f”
1.3核心方法:
~~public boolean hasMoreTokens()
~~public String nextToken()
~~public String nextToken(String delim)
~~public int countTokens()
例子代码:
package com.jt.mail;
import java.util.StringTokenizer;
/**
* @author jt
*2016-1-22 下午10:35:16
*StringTokenizer类的例子
*/
public class StringUtils {
/**
* @param args
*/
public static void main(String[] args) {
StringTokenizer st=new StringTokenizer("this is a test jiangtao7913 on ye!");
while(st.hasMoreTokens()){
/**
* "\\s正则表示空格,回车,换行等空白符"
* "\\d表示0-9的数字"
* "\\w表示单词字符(数字字母下划线)"
* +表示一个或多个
*/
System.out.println(st.nextToken());
}
String s = new String("The=Java=platform=is=the=ideal=platform=for=network=computing");
StringTokenizer st1 = new StringTokenizer(s,"=",true);
System.out.println( "Token Total: " + st1.countTokens() );
while( st1.hasMoreElements() ){
System.out.println( st1.nextToken() );
}
}
}