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