String类中split()方法的使用

String类中split方法的使用


查看api会发现,split方法有方法重载
一个是split(String regex)一个是split(String regex,int limit)

先讲解split(String regex,int limit)
先看官方解释:
在这里插入图片描述

官方解释:
public String[] split(String regex,
int limit)将此字符串拆分为给定的regular expression的匹配。 此方法返回的数组包含此字符串的每个子字符串,该字符串由与给定表达式匹配的另一个子字符串终止,或由字符串结尾终止。
数组中的子字符串按照它们在此字符串中的顺序排列。 如果表达式与输入的任何部分不匹配,则生成的数组只有一个元素,即这个字符串。

当在此字符串的开始处存在正宽度匹配时,在结果数组的开始处包含空的前导子字符串。 开始时的零宽度匹配不会产生这样的空的前导子串。

limit参数控制应用模式的次数,因此影响生成的数组的长度。 如果极限n大于0,则模式最多应用n -1次,数组的长度不大于n
,数组的最后一个条目将包含超出最后一个匹配分隔符的所有输入。 如果n是非正的,那么模式将被应用到尽可能多的次数,并且数组可以有任何长度。
如果n为0,则模式将被应用尽可能多次,数组可以有任何长度,并且尾随的空字符串将被丢弃。

理解:就是将字符串中的满足regex的部分换成空字符串并且从这里分割,并且转换成数组

String Regex是一个正则表达式,limit是切割次数

现在limit存在三种情况:1.正数2.负数3.等于0

正数:

split方法会将字符串切割 (limit-1) 次,就是说如果limit =
1,那么split数组长度为1,就是原来的字符串,只不过变成了数组。还有就是regex不满足字符串中任何字符,也会把原来的字符串原封不动的转为数组,如果是2的话,那么会切割1次,如果是3的话,切割2次

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

负数:

split会无限次数切割,就是把字符串中所有满足regex的都替换成空字符串,转为数组
无论是-1还是-10,结果都是一样

在这里插入图片描述
在这里插入图片描述

0:

split也会无限次数切割,也把字符串中所有满足regex的都替换成空字符串,但是在字符串末尾的空字符串会被清除再转换成数组

在这里插入图片描述
在这里插入图片描述
再来看看split(String regex),就是一个默认limit是0的split(String regex,int limit)

对split()方法的理解有深了一步,nice

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值