StringTokenizer类 解析

372 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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。。
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