Java 中String类的subString方法可能分隔出字符串的子串,但如果想从英文段落取出每一个单词,那么选择使用StringTokenizer类较为方便
StringTokenizer:字符串分隔解析类型
属于:java.util包。
java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。
构造方法 |
Constructor and Description |
StringTokenizer(String str) 为指定的字符串构造一个字符串tokenizer。 |
StringTokenizer(String str,String delim) 为指定的字符串构造一个字符串tokenizer。 |
StringTokenizer(String str,String delim, boolean returnDelims) 为指定的字符串构造一个字符串tokenizer。 |
|
|
普通方法:所有的方法都为public
1. int countTokens():返回nextToken方法被调用的次数。如果采用构造函数1和2,返回的就是分隔符数量(例2)。
2. boolean hasMoreElements():返回是否还有分隔符。
3. boolean hasMoreTokens():这个方法和hasMoreElements()方法的用法是一样的,只是StringTokenizer为了实现Enumeration接口而实现的方法,从StringTokenizer的声明可以看到:class StringTokenizer implements Enumeration<Object>。。
4. String nextToken():返回从当前位置到下一个分隔符的字符串。
5. Object nextElement():返回与nextToken
方法相同的值,但其声明的返回值为Object
而不是String
。
6. String nextToken(String delim):返回此字符串tokenizer字符串中的下一个令牌。
示例:
import java.util.Scanner;
import java.util.StringTokenizer;
public class text {
public static void handle(String eString) {
//为指定的字符串构造一个字符串tokenizer。分隔符为 【,!' '.;】
StringTokenizer st = new StringTokenizer(eString,",!' '.;");
while(st.hasMoreElements()) {
System.out.println(st.nextElement());
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入英文文本:");
String eText = sc.nextLine();
handle(eText);
//System.out.println(eText);
}
}
运行实例:
请输入英文文本:
ABC,CDEFGH!IJK.LMN;
ABC
CDE
FGH
IJK
LMN