StringTokenizer类:根据自定义字符为分界符进行拆分,并将结果进行封装提供对应方法进行遍历取值, StringTokenizer
方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释;该方法用途类似于split方法,只是对结果进行了封装;
帮助文档上对此进行了说明:
StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或 java.util.regex 包。
构造器:
· public StringTokenizer(String str,String delim,boolean returnTokens);
· public StringTokenizer(String str,String delim);
· public StringTokenizer(String str);
其中,str为需分析的字符串,delim为定界符,定界符里面的任何一个字符都是分隔符,如"+-*/ "表示碰到"+-*/ "中的任何一个都认为是到达了分隔符了。
常用的方法有:
· public boolean hasMoreTokens(); //判断字符串中是含还有token
· public String nextToken(); //StringTokenizer对象中的下一个token。
· public String nextToken(String delim) //delim为新的定界符
public boolean hasMoreElements ()
StringTokenizer (Java Platform SE 6)<!-- Generated by javadoc (build 1.6.0-beta2) on Mon Mar 19 18:26:57 CST 2007 -->
<noscript></noscript> public Object nextElement () //除返回结果类型外,其返回与 nextToken
方法相同的值
在例中,使用StringTokenizer类将字符串“hello,java,delphi,asp,php”分解为三个单词。
【例】
impoort java.util.*;
public class StringTokenizer Demo
{
public static void main(String[] args)
{
String str=" hello,java,delphi,asp,php";
StringTokenizer st=new StringTokenizer(str,",");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
程序的运行结果为:
hello
java
delphi
asp
php