Most visited

Recently visited

Added in API level 1

StringTokenizer

public class StringTokenizer
extends Object implements Enumeration<Object>

java.lang.Object
   ↳ java.util.StringTokenizer


字符串标记器类允许应用程序将字符串分解为标记。 标记化方法比StreamTokenizer类所使用的方法简单得多。 StringTokenizer方法不区分标识符,数字和带引号的字符串,也不识别和跳过注释。

可以在创建时或以每个标记为基础指定分隔符(分隔标记的字符)集合。

StringTokenizer一个实例具有 StringTokenizer行为方式,具体取决于它是使用 returnDelims标志的值为 true还是 false

一个StringTokenizer对象在内部维护要被标记的字符串中的当前位置。 某些操作会将当前位置推进到处理的字符之后。

通过获取用于创建 StringTokenizer对象的字符串的子字符串来返回标记。

以下是使用标记器的一个示例。 代码:

     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
 

也可以看看:

Summary

Public constructors

StringTokenizer(String str, String delim, boolean returnDelims)

为指定的字符串构造一个字符串标记器。

StringTokenizer(String str, String delim)

为指定的字符串构造一个字符串标记器。

StringTokenizer(String str)

为指定的字符串构造一个字符串标记器。

Public methods

int countTokens()

计算此标记生成器的 nextToken方法在生成异常之前可以调用的次数。

boolean hasMoreElements()

返回与 hasMoreTokens方法相同的值。

boolean hasMoreTokens()

测试这个标记器的字符串是否有更多的标记可用。

Object nextElement()

返回与 nextToken方法相同的值, nextToken在于其声明的返回值是 Object而不是 String

String nextToken(String delim)

返回此字符串标记器字符串中的下一个标记。

String nextToken()

返回此字符串标记器的下一个标记。

Inherited methods

From class java.lang.Object
From interface java.util.Enumeration

Public constructors

StringTokenizer

Added in API level 1
StringTokenizer (String str, 
                String delim, 
                boolean returnDelims)

为指定的字符串构造一个字符串标记器。 delim参数中的所有字符都是用于分隔令牌的分隔符。

如果returnDelims标志为true ,则分隔符字符也会作为标记返回。 每个分隔符以长度为1的字符串形式返回。 如果该标志为false ,则跳过分隔符字符并仅用作标记之间的分隔符。

请注意,如果delimnull ,则此构造函数不会引发异常。 但是,试图在生成的StringTokenizer上调用其他方法可能会导致NullPointerException

Parameters
str String: a string to be parsed.
delim String: the delimiters.
returnDelims boolean: flag indicating whether to return the delimiters as tokens.
Throws
NullPointerException if str is null

StringTokenizer

Added in API level 1
StringTokenizer (String str, 
                String delim)

为指定的字符串构造一个字符串标记器。 delim参数中的字符是用于分隔令牌的分隔符。 分隔符字符本身不会被视为标记。

请注意,如果delimnull ,则此构造函数不会引发异常。 但是,试图在生成的StringTokenizer上调用其他方法可能会导致NullPointerException

Parameters
str String: a string to be parsed.
delim String: the delimiters.
Throws
NullPointerException if str is null

StringTokenizer

Added in API level 1
StringTokenizer (String str)

为指定的字符串构造一个字符串标记器。 标记器使用默认的分隔符集,即" \t\n\r\f" :空格字符,制表符,换行符,回车符和换页符。 分隔符字符本身不会被视为标记。

Parameters
str String: a string to be parsed.
Throws
NullPointerException if str is null

Public methods

countTokens

Added in API level 1
int countTokens ()

计算该标记器的nextToken方法在生成异常之前可以调用的次数。 当前位置不提前。

Returns
int the number of tokens remaining in the string using the current delimiter set.

也可以看看:

hasMoreElements

Added in API level 1
boolean hasMoreElements ()

返回与hasMoreTokens方法相同的值。 它的存在使得这个类可以实现Enumeration接口。

Returns
boolean true if there are more tokens; false otherwise.

也可以看看:

hasMoreTokens

Added in API level 1
boolean hasMoreTokens ()

测试这个标记器的字符串是否有更多的标记可用。 如果此方法返回true则不带参数的后续调用nextToken将成功返回令牌。

Returns
boolean true if and only if there is at least one token in the string after the current position; false otherwise.

nextElement

Added in API level 1
Object nextElement ()

返回与nextToken方法相同的值,但其声明的返回值是Object而不是String 它的存在使得这个类可以实现Enumeration接口。

Returns
Object the next token in the string.
Throws
NoSuchElementException if there are no more tokens in this tokenizer's string.

也可以看看:

nextToken

Added in API level 1
String nextToken (String delim)

返回此字符串标记器字符串中的下一个标记。 首先,被这个StringTokenizer对象认为是分隔符的字符集被更改为字符串delim中的字符。 然后返回当前位置后字符串中的下一个标记。 当前位置超出了所识别的标记。 此次调用后,新的分隔符集保持默认。

Parameters
delim String: the new delimiters.
Returns
String the next token, after switching to the new delimiter set.
Throws
NoSuchElementException if there are no more tokens in this tokenizer's string.
NullPointerException if delim is null

nextToken

Added in API level 1
String nextToken ()

返回此字符串标记器的下一个标记。

Returns
String the next token from this string tokenizer.
Throws
NoSuchElementException if there are no more tokens in this tokenizer's string.

Hooray!