`

类 StringTokenizer

 
阅读更多

java.util
类 StringTokenizer

java.lang.Object
  java.util.StringTokenizer
所有已实现的接口:
Enumeration<Object>

public class StringTokenizer
extends Object
implements Enumeration<Object>

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
 
从以下版本开始:
JDK1.0
另请参见:
StreamTokenizer

构造方法摘要
StringTokenizer(String str)
为指定字符串构造一个 string tokenizer。
StringTokenizer(String str, String delim)
为指定字符串构造一个 string tokenizer。
StringTokenizer(String str, String delim, boolean returnDelims)
为指定字符串构造一个 string tokenizer。
方法摘要
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 的字符串中的下一个标记。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
构造方法详细信息

StringTokenizer

public StringTokenizer(String str,
                       String delim,
                       boolean returnDelims)
为指定字符串构造一个 string tokenizer。delim 参数中的所有字符都是分隔标记的分隔符。

如果 returnDelims 标志为 true,则分隔符字符也作为标记返回。每个分隔符都作为一个长度为 1 的字符串返回。如果标志为 false,则跳过分隔符,只是用作标记之间的分隔符。

注意,如果 delimnull,则此构造方法不抛出异常。但是,尝试对得到的 StringTokenizer 调用其他方法则可能抛出 NullPointerException

参数:
str - 要解析的字符串。
delim - 分隔符。
returnDelims - 指示是否将分隔符作为标记返回的标志。
抛出:
NullPointerException - 如果 str 为 null

StringTokenizer

public StringTokenizer(String str,
                       String delim)
为指定字符串构造一个 string tokenizer。delim 参数中的字符都是分隔标记的分隔符。分隔符字符本身不作为标记。

注意,如果 delimnull,则此构造方法不抛出异常。但是,尝试对得到的 StringTokenizer 调用其他方法则可能抛出 NullPointerException

参数:
str - 要解析的字符串。
delim - 分隔符。
抛出:
NullPointerException - 如果 str 为 null

StringTokenizer

public StringTokenizer(String str)
为指定字符串构造一个 string tokenizer。tokenizer 使用默认的分隔符集 " \t\n\r\f",即:空白字符、制表符、换行符、回车符和换页符。分隔符字符本身不作为标记。
参数:
str - 要解析的字符串。
抛出:
NullPointerException - 如果 str 为 null
方法详细信息

hasMoreTokens

public boolean hasMoreTokens()
测试此 tokenizer 的字符串中是否还有更多的可用标记。如果此方法返回 true,那么后续调用无参数的 nextToken 方法将成功地返回一个标记。
返回:
当且仅当该字符串中当前位置后至少有一个标记时才为 true;否则为 false

nextToken

public String nextToken()
返回此 string tokenizer 的下一个标记。
返回:
此 string tokenizer 的下一个标记。
抛出:
NoSuchElementException - 如果此 tokenizer 的字符串中没有更多标记。

nextToken

public String nextToken(String delim)
返回此 string tokenizer 的字符串中的下一个标记。首先,字符集被更改为字符串 delim 中的字符,该字符集被认为是 StringTokenizer 对象的分隔符。接着返回字符串中当前位置之后的下一个标记。当前位置被提前到所识别的标记前。进行此调用后新的分隔符集仍然保持默认值。
参数:
delim - 新的分隔符。
返回:
转换到新的分隔符集后的下一个标记。
抛出:
NoSuchElementException - 如果此 tokenizer 的字符串中没有更多标记。
NullPointerException - 如果 delim 为 null

hasMoreElements

public boolean hasMoreElements()
返回与 hasMoreTokens 方法相同的值。它的存在使得此类可以实现 Enumeration 接口。
指定者:
接口 Enumeration<Object> 中的 hasMoreElements
返回:
如果有更多标记,则为 true;否则为 false
另请参见:
Enumeration, hasMoreTokens()

nextElement

public Object nextElement()
除了其声明返回值是 Object 而不是 String 之外,它返回与 nextToken 方法相同的值。它的存在使得此类可以实现 Enumeration 接口。
指定者:
接口 Enumeration<Object> 中的 nextElement
返回:
字符串中的下一个标记。
抛出:
NoSuchElementException - 如果此 tokenizer 的字符串中没有更多标记。
另请参见:
Enumeration, nextToken()

countTokens

public int countTokens()
计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数。当前位置没有提前。
返回:
使用当前分隔符集的字符串中剩余的标记数。
另请参见:
nextToken()
分享到:
评论

相关推荐

    c#模拟实现java StringTokenizer

    在这个问题中,我们关注的是如何在 C# 中模拟实现 Java 的 `StringTokenizer` 类的功能。Java 的 `StringTokenizer` 类是一个用于分隔字符串的工具,它可以根据特定的分隔符将一个大的字符串拆分成多个小的字符串或...

    JAVA StringBuffer类与StringTokenizer类代码解析

    JAVA StringBuffer类与StringTokenizer类代码解析 JAVA StringBuffer类是Java语言中的一种字符串处理类,提供了一个字符串的可变序列,类似于String类,但它对存储的字符序列可以任意修改,使用起来比String类灵活...

    StringTokenizer(delphi版)

    用delphi实现java的StringTokenizer类的功能。在原来曾青松版本的基础上修复bug完成的。

    StringTokenizer的用法

    在Java编程语言中,`StringTokenizer`是`java.util`包中的一个实用类,用于将字符串分割成多个子字符串(通常称为令牌或token)。它支持多种分隔符,并允许用户控制是否返回分隔符作为结果的一部分。 #### 创建...

    基于Java中的StringTokenizer类详解(推荐)

    基于Java中的StringTokenizer类详解 Java中的StringTokenizer类是一个非常有用的工具类,用于字符串的分隔解析。它属于Java.util包。通过使用StringTokenizer类,我们可以轻松地将一个字符串分隔成多个子字符串,以...

    Java编写一个程序,输入一行文本,采用StringTokenizer类的对象,将文本符号化,并以逆序输出语言符号。

    `StringTokenizer`是Java中的一个实用类,用于将字符串分割成一系列的子字符串,这些子字符串被称为“标记”(tokens)。它主要用于解析文本数据,特别是当需要按照特定分隔符对字符串进行分割时非常有用。 #### ...

    Java实现对一行英文进行单词提取功能示例

    Java实现对一行英文进行单词提取功能示例主要介绍了Java实现对一行英文进行单词提取功能,结合实例形式分析了Java基于StringTokenizer类进行字符串分割的相关操作技巧。下面我们将详细介绍这篇文章中所涉及的知识点...

    java常用类的使用方法

    本文将深入探讨几个核心类:Integer、Float、Double、Character、String、StringTokenizer、StringBuffer以及Random,解析它们的功能与应用场景,帮助开发者更好地利用这些类来解决实际问题。 ### Integer类 `...

    Java 实例 - 字符串分隔(StringTokenizer)源代码-详细教程.zip

    在Java编程语言中,`StringTokenizer`类是一个非常实用的工具,它用于将字符串分割成多个子字符串。这个工具在处理包含多个分隔符的复杂数据时尤其有用。本详细教程将深入探讨`StringTokenizer`的工作原理、用法以及...

    java实验报告心得.doc

    本实验报告旨在掌握 Java 基础知识,包括 String 类、StringBuffer 类、Math 类、包装类和 StringTokenizer 类等。通过实验,学生可以熟悉 Java 基础编程概念和技术。 一、String 类 *equals() 方法和 "==" 运算符...

    Java-StringTokenizer1

    Java中的`StringTokenizer`类是处理字符串的一种工具,它允许我们根据特定的分隔符将一个字符串分解成多个令牌或子字符串。这个类在早期的Java版本中被广泛使用,但在Java 5之后,`split()`方法的引入使得`...

    java课后习题 关于 编写一个类

    这里使用了`Scanner`类来读取用户输入,`StringTokenizer`类来处理逗号分隔的数字字符串。最后,通过一个for循环从数组的末尾开始反向遍历并打印每个元素。 ```java import java.util.Scanner; import java.util...

    java字符串分隔类

    ### Java字符串分隔类——StringTokenizer的使用方法详解 在Java编程中,处理字符串是非常常见的需求之一,特别是在数据解析、格式化输出等场景下。`StringTokenizer`类作为Java标准库的一部分,为开发者提供了一种...

    初学者指南 JAVA常用类的使用方法.doc

    6. **StringTokenizer 类** - StringTokenizer用于按特定分隔符对字符串进行拆分。 7. **StringBuffer 类** - 动态可变字符串类,线程安全,适用于多线程环境下的字符串操作。 8. **Random 类** - 生成随机数的...

    JAVA常用类的使用方法

    - StringTokenizer 是用来解析字符串成多个子串的工具类,常用构造方法为 `StringTokenizer(String str, String delimiters)`,并提供 `nextToken()` 方法来获取下一个分隔后的子串。 6. **StringBuffer 类**: -...

    java常用类.rtf

    JAVA常用类的使用方法 1、Integer类 2、Float类 3、Double类 4、Character类 5、String类 6、StringTokenizer类 7、StringBuffer类 8、Random类 9、UIManage类

    java常用类使用方法

    在Java.lang包中,我们有如Integer、Float、Double、Character、String、StringTokenizer和StringBuffer等类,这些类在日常开发中经常被使用。 1. **Integer类**:Integer是Java中用于包装基本类型int的类。它提供...

    完整版 Java初级教程 Java语言程序设计 第7章 Java中的常用类(共14页).ppt

    【Java初级教程】Java语言程序设计的第7章主要探讨了Java中的一些常用类,包括`java.lang.String`、`java.lang.StringBuilder`和`java.util.StringTokenizer`。以下是对这些类的详细解释: 1. **`java.lang.String`...

Global site tag (gtag.js) - Google Analytics