Java中 StringTokenizer 的用法

一.StringTokenizer

1.1 StringTokenizer简介及其构造函数的三种形式:

StringTokenizer类是字符串分割解析类型,其属于java.util包,在使用之前需要 import java.util.*

 

StringTokenizer类一共有三种构造函数:

1.StringTokenizer(String s)该种构造函数传入指定的字符串s,然后通过StringTokenizer类对其进行分割。在该种情况下Java默认的分隔符包括 换行符"\n"、回车符"\r"、制表符"\t"、

空格" ";其中匹配分隔符都是多次匹配为准,例如s="Hello      World    !" 通过StringTokenizer(s)对其进行分割时,会返回"Hello"、"World"、"!"。会对字符串s中的空格作多次匹配。

 

2.StringTokenizer(String s , String delim)该种构造函数可以允许用户指定一个分隔符delim,通过指定的分隔符对字符串s进行分割。其中分隔符若为换行符、回车符、制表符等则不需要加转换符"\",且delim对大小写敏感。  当delim为"abc\n,\t"时,此时分割过程以a、b、c、换行符、制表符对指定字符串s进行分割。匹配到delim中的一个字符就会对s进行分割。

 

3.StringTokenizer(String s,String delim,boolean ReturnDelims)该构造函数是在第二种构造函数的基础上指定当匹配到分隔符时,是否在输出中显示匹配到的分隔符。

 

1.2 StringTokenizer的一些常用方法:

示例:StringTokenizer st = new StringTokenizer(s);

1.st.countTokens(): int 类型,表示一共将字符串s分割成多少个部分;

2.st.nextToken() = st.nextElement() : String 和 Object类型 ,表示从当前位置到下一个分隔符之间的字符;初始当前位置为字符串s的第一个字符。执行一次之后当前位置就会移到分隔符的后一位。

3.st.hasMoreTokens() = st.hasMoreElements() :boolean类型 ,表示从当前位置到结尾是否还有字符串s被分割成的部分。

4.st.nextToken(String delim): 以指定的新的delim作为分隔符返回结果。

 

1.3 运行结果:

1.第一种构造函数:

1 public class test {
2     public static void main(String[] args) {
3     String s=new String("Hello World");
4     StringTokenizer st = new StringTokenizer(s);
5     System.out.println("Token Total :"+ st.countTokens());
6     while(st.hasMoreElements())
7         System.out.println(st.nextToken());
8     }
9 }

运行结果:

 

2.第二种构造函数:

1 public class test {
2     public static void main(String[] args) {
3     String s=new String("Hello World");
4     StringTokenizer st = new StringTokenizer(s,"lo");
5     System.out.println("Token Total :"+ st.countTokens());
6     while(st.hasMoreElements())
7         System.out.println(st.nextToken());
8     }
9 }

运行结果:

 

3.第三种构造函数:

1 public class test {
2     public static void main(String[] args) {
3     String s=new String("Hello World");
4     StringTokenizer st = new StringTokenizer(s,"lo",true);
5     System.out.println("Token Total :"+ st.countTokens());
6     while(st.hasMoreElements())
7         System.out.println(st.nextToken());
8     }
9 }

运行结果:

 

 

 

 

posted @ 2018-07-18 10:37  XK-T  阅读(2098)  评论(0编辑  收藏  举报