StringTokenizer用法笔记

StringTokenizer是JDK中提供的专门用来分割字符串的工具类,典型构造函数如下:

public StringTokenier(String str, String delim) 

其中str是要分割的字符串,delim是分割符号。

以下JDK 6中的说明,

string tokenizer 类允许应用程序将字符串分解为标记。tokenization 方法比 StreamTokenizer 类所使用的方法更简单。StringTokenizer 方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释。

可以在创建时指定,也可以根据每个标记来指定分隔符(分隔标记的字符)集。

StringTokenizer 的实例有两种行为方式,这取决于它在创建时使用的 returnDelims 标志的值是 true 还是 false

  • 如果标志为 false,则分隔符字符用来分隔标记。标记是连续字符(不是分隔符)的最大序列。
  • 如果标志为 true,则认为那些分隔符字符本身即为标记。因此标记要么是一个分隔符字符,要么是那些连续字符(不是分隔符)的最大序列。

StringTokenizer 对象在内部维护字符串中要被标记的当前位置。某些操作将此当前位置移至已处理的字符后。

通过截取字符串的一个子串来返回标记,该字符串用于创建 StringTokenizer 对象。

下面是一个使用 tokenizer 的实例。代码如下:

     StringTokenizer st = new StringTokenizer("this is a test");

     while (st.hasMoreTokens()) {

         System.out.println(st.nextToken());

     }

输出以下字符串:

     this

     is

     a

     test

StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 Stringsplit 方法或 java.util.regex 包。

下面的示例阐明了如何使用 String.split 方法将字符串分解为基本标记:

     String[] result = "this is a test".split("\\s");

     for (int x=0; x<result.length; x++)

         System.out.println(result[x]); 

输出以下字符串:

this is a test

 

方法摘要
 int countTokens()
          计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数。
 boolean hasMoreElements()
          返回与 hasMoreTokens 方法相同的值。
 boolean hasMoreTokens()
          测试此 tokenizer 的字符串中是否还有更多的可用标记。
 Object nextElement()
          除了其声明返回值是 Object 而不是 String 之外,它返回与 nextToken 方法相同的值。
 String nextToken()
          返回此 string tokenizer 的下一个标记。
 String nextToken(String delim)
          返回此 string tokenizer 的字符串中的下一个标记。

  StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 Stringsplit 方法或 java.util.regex 包。 

 

你可能感兴趣的:(StringTokenizer)