Java学习笔记–StringTokenizer的使用「建议收藏」

2022-09-06 13:46:35 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

拓展:Pattern.split替代String.split http://www.cnblogs.com/gnivor/p/4386978.html

StringTokenizer是一个用来分隔String的应用类

1. 构造函数。

代码语言:javascript复制
1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘t’)”、“换行符(‘n’)”、“回车符(‘r’)”。
2. StringTokenizer(String str, String delim) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符。
3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。

2. 方法简介

int   countTokens():返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量 boolean hasMoreElements():返回是否还有分隔符。 boolean hasMoreTokens():同上 String  nextToken():返回从当前位置到下一个分隔符的字符串。 Object nextElement():结果同上,除非声明返回的是Object而不是String String nextToken(String delim):同nextToken(),以指定的分隔符返回结果

例:

代码语言:javascript复制
String s = new String("This is a test string");
StringTokenizer st = new StringTokenizer(s);
System.out.println( "Token Total: "   st.countTokens() );
while( st.hasMoreElements() ){
    System.out.println(st.nextToken());
}

例2:

代码语言:javascript复制
String str = "100|66,55:200|567,90:102|43,54";

StringTokenizer strToke = new StringTokenizer(str, ":,|");// 默认不打印分隔符
// StringTokenizer strToke=new StringTokenizer(str,":,|",true);//打印分隔符
// StringTokenizer strToke=new StringTokenizer(str,":,|",false);//不打印分隔符
while(strToke.hasMoreTokens()){
    System.out.println(strToke.nextToken());
}

注意,StringTokenizer的分隔符不需要使用转义字符

3.与split的区别

String.Split()使用正则表达式,而StringTokenizer的只是使用逐字分裂的字符。 如果不用正则表达式(StringTokenizer也不能使用正则表达式),StringTokenizer在截取字符串中的效率最高。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155307.html原文链接:https://javaforall.cn

0 人点赞