當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。