split()函数 (Java)

split()函数

split()函数2个参数的意义

public String[] split(String regex, int limit)
  • regex – 正则表达式分隔符。
  • limit – 分割的份数。
    返回值是一个字符串的数组
第一个参数:
使用单个字符进行分割

举个例子

String str = "one two three, four";
String[] tokens = str.split(" ");
System.out.println("个数:"+tokens.length);
for (String s: tokens)
	System.out.println(s);

这个例子中,我们用了split函数中的第一个参数,我们用空格(“ ”),进行分割,所以这段代码的结果如下:

运行结果:
在这里插入图片描述
特殊情况 下面12种字符需要转义才能当作分隔符, 用的是正则表达式的语法

[ ( ) { ^ $ . * + ? | \
如果以[为分隔符,split的时候需要加上两个反斜杠进行转义,不能直接使用str.split("[")"\\" 首先转成 "\" ,然后后面加一个 "[" 组成 "\[" 字符串,这个字符串符合java正则表达式的语法,才能正确解析。下面都是如此
String[] tokens = str.split("\\["); 
String[] tokens = str.split("\\(");
String[] tokens = str.split("\\)");
String[] tokens = str.split("\\{");
String[] tokens = str.split("\\^");
String[] tokens = str.split("\\$");
String[] tokens = str.split("\\.");
String[] tokens = str.split("\\*");
String[] tokens = str.split("\\+");
String[] tokens = str.split("\\?");
String[] tokens = str.split("\\|");
String[] tokens = str.split("\\\\");  这个特殊些,需要 "\\\\" 表示 "\" 进行分割,同时被分割的字符串也是 "\\" 才表示一个 "\"
使用多个字符进行分割

如果我们想用两个分割符进行分割,即 想用空格(" “)分割,也想用逗号(”,")分割,我们可以用 “|” 来使其实现,下面看一个例子:

String str = ",one,,tw,o th,,,,";
String[] tokens = str.split(" |,");
System.out.println("个数:"+tokens.length);
for (String s: tokens)
	System.out.println(s);

结果如下:

在这里插入图片描述

注意:如果把空字符串 ("") 用作 separator,那么 字符串 中的每个字符之间都会被分割。

第二个参数:

第二个参数是分割的份数,举个例子:

  String str = "one two three four";
        String[] tokens = str.split(" ",2);
        for (String s: tokens)
            System.out.println(s);

结果如下:
在这里插入图片描述

可以看出,由于多了第二个参数,结果发生了改变,是因为我们限制了分割的份数为2份,所以当分割结果达到2份时,分割就结束了。

发生了改变,是因为我们限制了分割的份数为2份(也可以理解为返回的数组最大元素个数),所以当分割结果达到2份时,分割就结束了。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值