当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java StringTokenizer用法及代码示例


StringTokenizer 类在Java中用于将字符串分解为标记。 StringTokenizer 对象在内部维护要标记化的字符串中的当前位置。某些操作将当前位置提前到已处理的字符之上。

通过获取用于创建 StringTokenizer 对象的字符串的子字符串来返回令牌。它提供了解析过程的第一步,通常称为词法分析器或扫描器。

Java 字符串标记化

String Tokenizer 类允许应用程序将字符串分解为标记。它实现了枚举接口。该类用于解析数据。要使用 String Tokenizer 类,我们必须指定一个输入字符串和一个包含分隔符的字符串。分隔符是分隔标记的字符。分隔符字符串中的每个字符都被视为有效的分隔符。默认分隔符是空格、换行符、空格和制表符。

示例:

stringtokenizer

StringToken 的构造函数

让我们将 ‘str’ 视为要标记化的字符串。在这种情况下,我们有如下三种构造函数情况:

构造函数

说明

StringTokenizer(String str)

默认分隔符,如换行符、空格、制表符、回车符和换页符。

StringTokenizer(String str, String delim)

delim 是一组分隔符,用于标记给定的字符串。

StringTokenizer(String str, String delim, boolean flag)

前两个参数具有相同的含义,其中标志用于以下目的。

StringToken构造函数的案例

1. 如果标志为 false,则分隔符用于分隔标记

例子:

Input : if string --> "hello geeks" and Delimiter is " ", then 
Output: tokens are "hello" and "geeks".

2. 如果该标志为 true,则分隔符字符被视为标记。

例子:

Input : String --> is "hello geeks"and Delimiter is " ", then 
Output: Tokens --> "hello", " " and "geeks".

3. 可以为单个字符串选择多个分隔符。

例子:

Syntax: StringTokenizer st1 = new StringTokenizer( "2+3-1*8/4", "+*-/");

Input : String --> is "2+3-1*8/4" and Delimiters are +,*,-,/
Output: Tokens --> "2","3","1","8","4".

Java 字符串分词器构造函数的示例

Java


// Java Program to implement
// Java String Tokenizer Constructors
import java.util.*;
// Driver Class
class GFG {
    // main function
    public static void main(String[] args)
    {
        // Constructor 1
        System.out.println("Using Constructor 1 - ");
        // Creating object of class inside main() method
        StringTokenizer st1 = new StringTokenizer(
            "Hello Geeks How are you", " ");
        // Condition holds true till there is single token
        // remaining using hasMoreTokens() method
        while (st1.hasMoreTokens())
            // Getting next tokens
            System.out.println(st1.nextToken());
        // Constructor 2
        System.out.println("Using Constructor 2 - ");
        // Again creating object of class inside main()
        // method
        StringTokenizer st2 = new StringTokenizer(
            "JAVA : Code : String", " :");
        // If tokens are present
        while (st2.hasMoreTokens())
            // Print all tokens
            System.out.println(st2.nextToken());
        // Constructor 3
        System.out.println("Using Constructor 3 - ");
        // Again creating object of class inside main()
        // method
        StringTokenizer st3 = new StringTokenizer(
            "JAVA : Code : String", " :", true);
        while (st3.hasMoreTokens())
            System.out.println(st3.nextToken());
    }
}
输出
Using Constructor 1 - 
Hello
Geeks
How
are
you
Using Constructor 2 - 
JAVA
Code
String
Using Constructor 3 - 
JAVA
 
:
 
Code
 
:
 
String

StringTokenizer 类的方法

方法 执行的操作
StringTokenizer countTokens() 返回存在的令牌总数
StringTokenizer hasMoreTokens() 测试 StringTokenizer 的字符串是否存在标记
StringTokenizer nextElement() 返回一个对象而不是字符串
StringTokenizer hasMoreElements() 返回与 hasMoreToken 相同的值
StringTokenizer nextToken() 从给定的 StringTokenizer 返回下一个标记。

StringTokenizer类的方法示例

下面是方法的实现:

Java


// Java Program to implement
//
import java.util.*;
// Driver Class
class GFG {
    // main function
    public static void main(String[] args)
    {
        // Creating a StringTokenizer
        StringTokenizer str = new StringTokenizer(
            "Welcome to GeeksforGeeks");
        StringTokenizer temp = new StringTokenizer("");
          // countTokens Method
        int count = str.countTokens();
        System.out.println(count);
       
          // hasMoreTokens Methods
          System.out.println("Welcome to GeeksforGeeks: "+str.hasMoreTokens());
          System.out.println("(Empty String) : "+temp.hasMoreTokens());
       
          // nextElement() Method
          System.out.println("\nTraversing the String:");
       
          while(str.hasMoreTokens()){
              System.out.println(str.nextElement());
        }
           
    }
}
输出
3
Welcome to GeeksforGeeks: true
(Empty String) : false

Traversing the String:
Welcome
to
GeeksforGeeks



相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 StringTokenizer Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。