Java StringTokenizer
java.util.StringTokenizer 类使您可以将字符串分成令牌。这是中断字符串的简单方法。
它没有提供区分数字,带引号的字符串,标识符等的功能,例如StreamTokenizer类。
StringTokenizer类的构造函数
StringTokenizer类中定义了3个构造函数。
构造函数 |
说明 |
StringTokenizer(String str) |
使用指定的字符串创建StringTokenizer。 |
StringTokenizer(String str,String delim) |
使用指定的字符串和分隔符创建StringTokenizer。 |
StringTokenizer(String str,String delim,boolean returnValue) |
使用指定的字符串,分隔符和returnValue创建StringTokenizer。如果返回值为true,则将分隔符视为标记。如果为假,则分隔符用于分隔令牌。 |
StringTokenizer类的方法
StringTokenizer类的6种有用方法如下:
公共方法 |
说明 |
boolean hasMoreTokens() |
检查是否还有更多令牌可用。 |
String nextToken() |
从StringTokenizer对象返回下一个标记。 |
String nextToken(String delim) |
根据距离返回下一个标记。 |
boolean hasMoreElements() |
与hasMoreTokens()方法相同。 |
Object nextElement() |
与nextToken()相同,但其返回类型为Object。 |
int countTokens() |
返回令牌总数。 |
StringTokenizer类的简单示例
让我们看一下StringTokenizer类的简单示例,该类基于以下内容对字符串"my name is khan"进行标记化: 空格。
import java.util.StringTokenizer;
public class Simple{
public static void main(String args[]){
StringTokenizer st = new StringTokenizer("my name is khan"," ");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
StringTokenizer类的nextToken(String delim)方法示例
import java.util.*;
public class Test {
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer("my,name,is,khan");
System.out.println("Next token is : " + st.nextToken(","));
}
}
Output:Next token is : my
注意: StringTokenizer类现已被弃用。建议使用String类或regex(正则表达式)的split()方法。