Java中substring方法可以分解字符串,返回的是原字符串的一个子字符串。如果要将一个字符串分解为一个一个的单词或者标记,可以使用StringTokenizer类。
常用方法
首先,先理解本类中Token的概念.StringTokenizer类的作用就是对给定的字符串进行分割,而分割后的元素就是Token.比如"This is a java programmer!“这个字符串按照空格来分割,那个分割后就是"This”,“is”,“a”,“java”,"programmer!"五个字符串,也就是5个Token.
现在来看一下常用的方法
public boolean hasMoreTokens()//是否还有Token
public String nextToken()//下一个Token
public String nextToken(String delim)//根据分隔符获取下一个Token
public int countTokens()//Token的总个数
构造方法
StringTokenizer提供了三个构造方法:
1.StringTokenizer(String str)。默认以” \t\n\r\f”(引号后有一个空格)为分割符。
源码:
public StringTokenizer(String str) {
this(str, ” \t\n\r\f”, false);
}
实例:
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer("blog csdn net");
System.out.println("分割后Token的个数-->" + st.countTokens());
while(st.hasMoreElements()){
System.out.println("Token:" + st.nextToken());
}
}
输出:
分割后Token的个数–>3
Token:blog
Token:csdn
Token:net
2.StringTokenizer(String str, String delim)。指定delim为分割符。
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer("blog.csdn.net", ".c");
System.out.println("分割后Token的个数-->" + st.countTokens());
while(st.hasMoreElements()){
System.out.println("Token:" + st.nextToken());
}
}
输出:
分割后Token的个数–>3
Token:blog
Token:sdn
Token:net
3.StringTokenizer(String str, String delim, boolean returnDelims)。returnDelims为true的话则delim分割符也被视为标记。
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer("blog.csdn.net", ".", true);
System.out.println("分割后Token的个数-->" + st.countTokens());
while(st.hasMoreElements()){
System.out.println("Token:" + st.nextToken());
}
}
输出:
分割后Token的个数–>5
Token:blog
Token:.
Token:csdn
Token:.
Token:net