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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。