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


Java StringTokenizer和Split的區別用法及代碼示例


遺留類和接口是在早期版本的 Java 中形成Collection Framework 的類和接口,以及現在如何進行重組或重新設計的。字符串的拆分本質上是在給定正則表達式的匹配項周圍打破字符串。

在 java 中可以通過多種方式分割字符串,但最常見的兩種方式是使用:

  1. StringTokenizer()
  2. split()方法

The split() method is preferred and recommended even though it is comparatively slower than StringTokenizer.This is because it is more robust and easier to use than StringTokenizer.

1.字符串分詞器

通過獲取用於創建 StringTokenizer 對象的字符串的子字符串來返回令牌。 StringTokenizer 對象在內部維護要標記化的字符串中的當前位置。

它有 3 個構造函數:

  • StringTokenizer(String str)
  • StringTokenizer(String str, String delimiter)
  • StringTokenizer(字符串 str、字符串 delim、布爾標誌)

這裏,

  • str:要標記化的字符串
  • 分隔符:用於標記字符串的分隔符(+、/等)
  • flag:決定是否將分隔符視為標記(True/False)

Java


// Java program to demonstrate working of StringTokenizer()
import java.util.*;
class GFG {
    public static void main(String[] args)
    {
        String str = "This  is  geek";
        StringTokenizer st = new StringTokenizer(str, " ");
        // counting tokens
        System.out.println("Total tokens : "
                           + st.countTokens());
        // checking tokens
        for (int i = 0; st.hasMoreTokens(); i++)
            System.out.println("#" + i + ": "
                               + st.nextToken());
    }
}
輸出
Total tokens : 3
#0: This
#1: is
#2: geek

2.Split()字符串法

string split() 方法在給定正則表達式的匹配項周圍中斷給定字符串。

Java 中的 split() 方法有 2 個變體:

  • 字符串類方法
public String [ ] split ( String regex, int limit )

Here,
split(): method to split stri
regex:a delimiting regular expression
limit:the result threshold
  • 使用java.util.regex
public String[] split(String regex) 

Here,
split(): method to split string
regex:a delimiting regular expression
limit: default is 0

Java


// Java program to demonstrate split()
import java.util.*;
class GFG {
    public static void main(String[] args)
    {
        String str = " This  is  geek";
        String[] split = str.split(" ");
       
        for (int i = 0; i < split.length; i++)
            System.out.println("#" + i + ": " + split[i]);
    }
}


輸出
#0: 
#1: This
#2: 
#3: is
#4: 
#5: geek

Difference Between StringTokenizer and Split Method in Java

StringTokenizer Split()
它是一個 允許應用程序將字符串分解為標記的遺留類。 它是 String 類或 java.util.regex 包的一種方法,用於圍繞給定正則表達式的匹配項拆分此字符串。
它一次返回一個子字符串。 它返回一個子字符串數組。
它不能很好地處理空字符串。 它可以處理空字符串 當你需要解析空標記時,例如螞蟻, 蝙蝠,
它相對來說不太健壯,而且語法上也比較挑剔。 它更強大並且具有簡單的語法。
它隻接受一個字符串,通過它來分割字符串 它接受正則表達式。
分隔符隻有一個字符長。 分隔符是一個正則表達式。
它本質上是為了提取由固定子字符串分隔的標記而設計的。 它本質上是為了解析來自程序外部的文本數據,比如來自文件或來自用戶。
由於這個限製,大約 速度是split()的兩倍。 比StringTokeniser慢
由帶有參數的構造函數組成,該參數允許您指定可能的分隔符。 沒有構造函數。


相關用法


注:本文由純淨天空篩選整理自jelonmusk大神的英文原創作品 Difference Between StringTokenizer and Split Method in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。