标签:regex String limit 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
标签:regex,String,limit,split,数组,字符串,类中 来源: https://blog.csdn.net/nanci9/article/details/117914374
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。