Java StringTokenizer工具类使用

297 阅读2分钟

Java StringTokenizer

该属于 java.util 包,用于分隔字符串。貌似String.split方法也可以做到同样的效果,但是StringTokenizer要比String.split更加灵活可用

StringTokenizer 构造方法:

  • 1. StringTokenizer(String str) :构造一个用来解析 str 的 StringTokenizer 对象。java 默认的分隔符是空格("")、制表符(\t)、换行符(\n)、回车符(\r)。
  • 2. StringTokenizer(String str, String delim) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符。
  • 3. StringTokenizer(String str, String delim, boolean returnDelims) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。

StringTokenizer 常用方法:

  • 1. int countTokens():返回nextToken方法被调用的次数。
  • 2. boolean hasMoreTokens():返回是否还有分隔符。
  • 3. boolean hasMoreElements():与hasMoreTokens作用一样,源码中就是直接调用了hasMoreTokens。
  • 4. String nextToken():返回从当前位置到下一个分隔符的字符串。
  • 5. Object nextElement():与nextToken作用一样,源码中就是直接调用了nextToken。
  • 6. String nextToken(String delim):与 4 类似,以指定的分隔符返回结果。

实例 1

import java.util.*;
 
public class Main
{
    public static void main(String args[])
    {
        System.out.println("使用第一种构造函数:");
        StringTokenizer st1 = new StringTokenizer("Hello java How are you", " ");
        while (st1.hasMoreTokens())
            System.out.println(st1.nextToken());
 
        System.out.println("使用第二种构造函数:");
        StringTokenizer st2 = new StringTokenizer("JAVA : Code : String", " :");
        while (st2.hasMoreTokens())
            System.out.println(st2.nextToken());
 
        System.out.println("使用第三种构造函数:");
        StringTokenizer st3 = new StringTokenizer("JAVA : Code : String", " :",  true);
        while (st3.hasMoreTokens())
            System.out.println(st3.nextToken());
    }
}

输出结果为:

java
google
taobao
facebook
zhihu

实例 2

import java.util.*;
 
public class Main
{
    public static void main(String args[])
    {
        System.out.println("使用第一种构造函数:");
        StringTokenizer st1 = new StringTokenizer("Hello java How are you", " ");
        while (st1.hasMoreTokens())
            System.out.println(st1.nextToken());
 
        System.out.println("使用第二种构造函数:");
        StringTokenizer st2 = new StringTokenizer("JAVA : Code : String", " :");
        while (st2.hasMoreTokens())
            System.out.println(st2.nextToken());
 
        System.out.println("使用第三种构造函数:");
        StringTokenizer st3 = new StringTokenizer("JAVA : Code : String", " :",  true);
        while (st3.hasMoreTokens())
            System.out.println(st3.nextToken());
    }
}

输出结果为:

使用第一种构造函数:
Hello
java
How
are
you
使用第二种构造函数:
JAVA
Code
String
使用第三种构造函数:
JAVA
 
:
 
Code
 
:
 
String