我们已经在我们的字符串文章和Java 中的StringBuffer 的最新文章中使用了字符串

我们总是借助字符串中存在的每个字符对字符串执行操作。如果我们想处理字符串或句子中的每个单词怎么办?

使用 Java 中的 String Tokenizer,我们可以将 String 分解为单词,这些单词称为tokens

在本文中,我们将讨论 Java 中的 StringTokenizer 类,它完成将字符串分解为标记并对这些标记执行操作的任务。

我们将通过示例了解与此类相关的每个方法和构造函数。那么让我们开始吧。

Java 中的 StringTokenizer

的StringTokenizer类存在于一个类的java.util包,它是用来将字符串分解为标记。

换句话说,我们可以将一个句子拆分为它的单词并执行各种操作,例如计算标记的数量或将句子分解为标记。

这个 StringTokenizer 中有构造函数和方法可以帮助我们将句子拆分为标记。StringTokenizer,根据提供给 String tokenizer 类对象的分隔符对字符串进行标记。

通用分隔符是空格、制表符、换行符、回车符和换页符。

这些分隔符被视为默认值,如果用户想要提供自己的分隔符,那么他可以通过将参数中的分隔符定义为参数来提供。

下面通过一个简单的例子来理解Java中StringTokenizer类的使用。

现在让我们关注 StringTokenizer 类的编程参数,并全面了解这一点。

Java StringTokenizer 构造函数

StringTokenizer 一般描述了三种类型的构造函数:

1. StringTokenizer(String str)

此构造函数用于执行参数中提供的特定字符串的标记化。

此构造函数采用在 StringTokenizer 类的定义中定义的所有默认分隔符。

分隔符为:空格、换行符、制表符、回车“\r”、换行符“\n”和换页符“\f”。

2. StringTokenizer(String str, String delimiter)

实现此构造函数以根据用户在参数中提供的分隔符执行字符串标记化。这可以通过一个例子来解释:

StringTokenizer st = new StringTokenizer(“techvidvan, article, on, StringTokenizer”, “,”);
while (st.hasMoreTokens())System.out.println(st.nextToken());

输出:关于StringTokenizer 的
techvidvan
文章

3. StringTokenizer(String str, String delimiter, boolean flag)

此构造函数用于根据分隔符执行字符串标记化,并且还具有显示分隔符的附加功能。

这可以通过一个例子来解释:

boolean = false 示例:

StringTokenizer st = new StringTokenizer(“techvidvan, article, on, StringTokenizer”, “, ”, false);
while (st.hasMoreTokens())System.out.println(st.nextToken());

这里如果 boolean 的值为FALSE则令牌不包含分隔符,即输出为:“techvidvan”、“article”、“on”、“StringTokenizer”

boolean = true 示例:

StringTokenizer st = new StringTokenizer(“techvidvan, article, on, StringTokenizer”, “, ”, true);
while (st1.hasMoreTokens())System.out.println(st.nextToken());

这里如果 boolean 的值为TRUE则 token 包含分隔符,即,

输出为:
techvidvan

article

on

StringTokenizer

Java StringTokenizer 类的类图

Java 中 StringTokenizer 类的有用方法

StringTokenizer 类包含许多有用的实例方法,我们可以使用它们来隔离令牌。

让我们开始学习 StringTokenizer 类的每个方法。要使用这些方法,我们显然必须首先创建 StringTokenizer 类的对象,如下所示:

StringTokenizer st = new StringTokenizer(String);

在这里,我们传递的参数是一个需要标记的字符串。

1. int countTokens()

countToken() 方法返回由给定字符串中的任何空格分隔的标记数。

使用这个方法我们可以知道字符串中的标记数,因此我们可以使用这个标记数作为循环参数来非常轻松地处理整个字符串。

让我们用一个例子来讨论这个方法:

了解 StringTokenizer 类的 countTokens() 方法的代码:

package com.techvidvan.stringtokenizer;
import java.util. * ;
import java.io. * ;
public class CountTokensMethod {public static void main(String[] args) throws IOException {String myString = "This is TechVidvan Tutorial of Java";StringTokenizer st = new StringTokenizer(myString);int numberOfTokens;numberOfTokens = st.countTokens();System.out.println("Input string is:" + myString);System.out.println("The number of tokens in the string is: " + numberOfTokens);}
}

输出:
输入字符串为:这是 Java
的TechVidvan 教程字符串中的标记数为:6

2. 字符串 nextToken()

StringTokenizer 类的 nextToken() 方法以 String 的形式返回下一个标记。当我们第一次使用它时,它返回下一个标记作为字符串的第一个标记。

理解StringTokenizer类的nextToken()方法的代码:

package com.techvidvan.stringtokenizer;
import java.util. * ;
import java.io. * ;
public class NextTokenMethod {public static void main(String[] args) throws IOException {String myString = "This is TechVidvan Tutorial of Java";StringTokenizer st = new StringTokenizer(myString);System.out.println("Input string is: " + myString);while (st.hasMoreTokens()) {System.out.println("The Next token is: " + st.nextToken());}}
}

输出:
输入字符串是:这是 TechVidvan Java 教程下
一个标记是:这个
下一个标记是:是
下一个标记是:TechVidvan
下一个标记是:教程
下一个标记是:的
下一个标记是:Java

3. String nextToken(字符串分隔符)

nextToken(String delimiter) 方法与我们上面讨论的 nextToken() 方法相同,唯一的区别是它根据我们作为参数提供给此方法的分隔符返回下一个标记。

我们可以使用任何分隔符,例如符号或任何数字或任何字符。

了解StringTokenizer类的nextToken(String delimiter)方法的代码:

package com.techvidvan.stringtokenizer;
import java.util. * ;
import java.io. * ;
public class NextTokenMethod {public static void main(String[] args) throws IOException {String myString = "This$is$TechVidvan$Tutorial$of Java";StringTokenizer st = new StringTokenizer(myString);System.out.println("Input string is: " + myString);while (st.hasMoreTokens()) {System.out.println("The Next token with $ delimiter is: " + st.nextToken("$"));}}
}

输出:
输入字符串是:This$is$TechVidvan$Tutorial$of Java
带有 $ 分隔符的下一个标记是: This
带有 $ 分隔符
的下一个标记是: is带有 $ 分隔符
的下一个标记是: TechVidvan带有 $ 分隔符的下一个标记是: 教程
下一个带有 $ 分隔符的标记是:Java

4.布尔hasMoreTokens()

此方法仅检查字符串中是否存在更多标记。如果令牌可用,则返回 true,如果没有令牌可用,则返回 false。

我们可以在 while 循环中使用它来处理整个字符串,直到没有更多的标记可用。

了解 StringTokenizer 类的 hasMoreTokens() 方法的代码:

package com.techvidvan.stringtokenizer;
import java.util. * ;
import java.io. * ;
public class HasMoreTokensMethod {public static void main(String[] args) throws IOException {String myString = "This is TechVidvan Tutorial of Java";StringTokenizer st = new StringTokenizer(myString);System.out.println("Input string is: " + myString);int n = st.countTokens();while (n != 0)if (st.hasMoreTokens()) {System.out.println("The token is present");n--;}System.out.println("There is no more token in the string");}
}

输出:
输入字符串是: 这是 Java
的TechVidvan 教程令牌存在
令牌存在
令牌存在
令牌存在
令牌存在
令牌存在
字符串中没有更多令牌

5. 对象 nextElement()

nextElement() 方法类似于 StringTokenizer 类的 nextToken() 方法;

不同之处在于它以 Object 的形式返回值,这与返回 String 的 nextToken() 方法不同。

package com.techvidvan.stringtokenizer;
import java.util. * ;
import java.io. * ;
public class NextElementMethod {public static void main(String[] args) throws IOException {String myString = "This is TechVidvan Tutorial of Java";StringTokenizer st = new StringTokenizer(myString);System.out.println("Input string is: " + myString);//moving to the next elementst.nextElement();System.out.println("The next element is: " + st.nextElement());System.out.println("The next element is: " + st.nextElement());}
}

输出:
输入字符串是:这是 Java
的TechVidvan 教程下一个元素是:是
下一个元素是:TechVidvan

Java StringTokenizer 示例

现在,当您熟悉 StringTokenizer 类的所有构造函数和方法时,让我们看一个示例,在以下示例中将它们一起使用。

用于理解 StringTokenizer 类的构造函数和方法的代码:

package com.techvidvan.stringtokenizer;
import java.util. * ;
import java.io. * ;
public class StringBufferMethod {public static void main(String[] args) throws IOException {String myString = "Welcome to StringTokenizer Tutorial, article on StringTokenizer class";StringTokenizer st = new StringTokenizer(myString);int numberOfTokens;numberOfTokens = st.countTokens();System.out.println("The number of tokens in this string is: " + numberOfTokens);System.out.println(“Printing all the token with Default constructor: ”);while (st.hasMoreTokens()) {System.out.println(“The next token is” + st.nextToken());}StringTokenizer st1 = new StringTokenizer(myString, “, ”);System.out.println(“Printing all the token with delimiter“, ”: ”);while (st1.hasMoreTokens()) {System.out.println(st1.nextToken());}StringTokenizer st2 = new StringTokenizer(myString, “, ”, true);System.out.println(“Printing all the token with delimiter“, ”and also printing delimiter: ”);while (st2.hasMoreTokens()) {System.out.println(st2.nextToken());}}
}

输出:
此字符串中的标记数为:8
使用默认构造函数打印所有标记:
下一个标记是欢迎
下一个标记是 to
下一个标记是 StringTokenizer
下一个标记是教程,
下一个标记是文章
下一个标记是on
下一个标记是 StringTokenizer
下一个标记是 class
打印所有带分隔符的标记,:
欢迎使用 StringTokenizer 教程
文章关于 StringTokenizer 类
打印所有带分隔符的标记,以及打印分隔符:
欢迎使用 StringTokenizer 教程

关于 StringTokenizer 类的文章

结论

我们已经到了文章的结尾。我们介绍了 Java 中 String Tokenizer 类的概念。

当我们想要处理字符串的单词而不是字符串的字符时,可以使用它。我们通过实例学习了该类的构造函数和方法,以便您轻松理解它们。

阅读本文后,您现在可以标记字符串或将字符串分解为标记。

Java StringTokenizer 类与示例相关推荐

  1. java StringTokenizer类

    类型概述 StringTokenizer类主要用于分隔字符串,将一个String分成多个Token. 构造方法 StringTokenizer(String str) 根据指定的字符串创建一个Stri ...

  2. Java BigInteger类| 带示例的shiftLeft()方法

    BigInteger类shiftLeft()方法 (BigInteger Class shiftLeft() method) shiftLeft() method is available in ja ...

  3. Java LocalDate类| 带示例的getDayOfYear()方法

    LocalDate类的getDayOfYear()方法 (LocalDate Class getDayOfYear() method) getDayOfYear() method is availab ...

  4. Java LocalDateTime类| 带示例的getDayOfWeek()方法

    LocalDateTime类getDayOfWeek()方法 (LocalDateTime Class getDayOfWeek() method) getDayOfWeek() method is ...

  5. Java LocalDate类| 带示例的format()方法

    LocalDate类format()方法 (LocalDate Class format() method) format() method is available in java.time pac ...

  6. Java Duration类| 带示例的compareTo()方法

    持续时间类compareTo()方法 (Duration Class compareTo() method) compareTo() method is available in java.time ...

  7. Java BigInteger类| 带有示例的减去()方法

    BigInteger类减去()方法 (BigInteger Class subtract() method) subtract() method is available in java.math p ...

  8. Java LocalDate类| 带示例的compareTo()方法

    LocalDate类compareTo()方法 (LocalDate Class compareTo() method) compareTo() method is available in java ...

  9. Java LocalDateTime类| 带示例的getMinute()方法

    LocalDateTime类getMinute()方法 (LocalDateTime Class getMinute() method) getMinute() method is available ...

最新文章

  1. 蓝桥杯练习系统习题-历年真题解析1(完整版)
  2. 简单深搜(poj 3009)
  3. Android笔记 意图传值demo
  4. 下载Nagios监控软件步骤
  5. 关于Parse库的配置问题
  6. python集合类型中的元素是有序的_Python数据类型之集合set
  7. f分布表完整图_如何用Excel制作频率(频数)分布表(图)?
  8. 多目标跟踪算法方案总结
  9. 捷配送了10块板子后,决定做一个“小霸王”手柄
  10. Ubuntu安装基础教程(No Zuo No Die)
  11. Python Django Web开发之表单
  12. 夜神模拟器和安卓连接
  13. 每日新闻:联想怎么又是全球第一?
  14. 微信小程序详解——小程序的生命周期和页面的生命周期
  15. TCP/IP:使用wireshark进行网络数据分析
  16. 手机wem文件转换软件_wem文件如何播放和转换成Ogg或MP3格式?
  17. VC MFC指定客户区的大小
  18. 模块5-6 冗余网络
  19. 数字图像处理——皮肤美白(Skin whitening)算法实现
  20. 梦幻西游2升级计算机,《梦幻西游》电脑版官方网站 - 网易西游题材扛鼎之作...

热门文章

  1. mysql 中1060怎么解决_mysql5.7同步复制报错1060故障处理
  2. Request对象详细介绍
  3. 批量转换word(docx)为pdf文件
  4. 关于arm-none-linux-gnueabi-4.4.3编译环境下,lib1funs.S编译报错的处理
  5. java猜十二生肖_猜一肖猜十二生肖其中一只,并说明理由 – 手机爱问
  6. 支付宝即时到帐接口说明详细文档
  7. 算法刷题【洛谷U193902】橡皮泥
  8. CSS制作旋转立体正方形
  9. 蓝牙耳机学生党推荐哪款好?四款高品质蓝牙耳机推荐
  10. 冒泡排序、插入排序、选择排序的时间、空间复杂度以及优化方案