Java 实例 - 字符串分隔(StringTokenizer)

Java 中我们可以使用 StringTokennizer 设置不同分隔符来分隔字符串,默认的分隔符是:空格、制表符(\t)、换行符(\n)、回车符(\r)。

以下实例演示了 StringTokennizer 使用空格和等号来分隔字符串:

更多 StringTokennizer 介绍可以查看:Java StringTokenizer 类使用方法

JavaStringSplitEmp.java 文件
import java.util.StringTokenizer;

public class Main {
public static void main(String[] args) {

    String str = "This is String , split by StringTokenizer, created by runoob";
    StringTokenizer st = new StringTokenizer(str);

    System.out.println("----- 通过空格分隔 ------");
    while (st.hasMoreElements()) {
        System.out.println(st.nextElement());
    }

    System.out.println("----- 通过逗号分隔 ------");
    StringTokenizer st2 = new StringTokenizer(str, ",");

    while (st2.hasMoreElements()) {
        System.out.println(st2.nextElement());
    }
}

}
输出结果:

----- 通过空格分隔 ------
This
is
String
,
split
by
StringTokenizer,
created
by
runoob
----- 通过逗号分隔 ------
This is String
split by StringTokenizer
created by runoob

import java.util.StringTokenizer;

public class Main {
public static void main(String[] args) {
String str1 = “Hello”;
//字符串分割
System.out.println(“字符串使用 split 分割”);
System.out.print(“将 Hello 从字符串 ll 处分割:”);
for(String temp:str1.split(“ll”)){
System.out.print(temp+" “);
}
System.out.println();
System.out.println(”------------------------------------");
System.out.println(“字符串使用 StringTokenizer 类进行分割”);//实验心得 StringTokenizer 不保留空集
StringTokenizer s = new StringTokenizer(str1, “l”);
System.out.print(“将 Hello 从字符 l 处分割:”);
while(s.hasMoreElements()){
System.out.print(s.nextElement()+" ");
}
System.out.println();
}
}
执行以上代码,输出结果为:

字符串使用 split 分割
将 Hello 从字符串 ll 处分割:He o

字符串使用 StringTokenizer 类进行分割
将 Hello 从字符 l 处分割:He o
与 split 按照 ll 分割的结果相同,所以 StringTokenizer 类分割后的结果不保留空集。

StringTokenizer和split方法还有一个很重要的区别就是:前者会以给定分割字符串的每个字符进行分割,而后者是以整个字符串进行切割。借鉴上面的代码:

import java.util.StringTokenizer;

public class Main {
public static void main(String[] args) {
String str = “Hello,this is a test”;
System.out.println(“使用split分割str”);
System.out.print(“将str从字符串 el 处分割:”);
for(String temp:str.split(“el”)){
System.out.print(temp+" “);
}
System.out.println();
System.out.println(”------------------------------------");
System.out.println(“使用StringTokenizer类进行分割”);
StringTokenizer s = new StringTokenizer(str, “el”);
System.out.print(“将str从字符e和l处分割:”);
while(s.hasMoreElements()){
System.out.print(s.nextElement()+" ");
}
System.out.println();
}
}
执行代码,结果如下:

使用split分割str
将str从字符串 el 处分割:H lo,this is a test

使用StringTokenizer类进行分割
将str从字符e和l处分割:H o,this is a t st
不难看出,分割字符串同样是“el”,但是结果却不一样,StringTokenizer分割原理是:只要有字符e和l的地方都进行切割,而split是只在字符串el的地方切割。
所以,基于这样的原理,StringTokenizer中的分割字符串一般是不重复的字符,例如:“aa”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值