加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Java中关于String的split(String regex, int limit)技巧

发布时间:2021-12-22 13:02:41 所属栏目:PHP教程 来源:互联网
导读:今天在对一个String对象进行拆分的时候,总是无法到达预计的结果。呈现数据的时候出现异常,后来debug之后才发现,错误出在String spilt上,于是开始好好研究下这东西,开始对api里的split(String regex, int limit)比较感兴趣,可是就是不理解当limit为负数
今天在对一个String对象进行拆分的时候,总是无法到达预计的结果。呈现数据的时候出现异常,后来debug之后才发现,错误出在String spilt上,于是开始好好研究下这东西,开始对api里的split(String regex, int limit)比较感兴趣,可是就是不理解当limit为负数时的情况
下面是api里的解释:
 
limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。
 
例如,字符串 "boo:and:foo" 使用这些参数可生成以下结果:
 
Regex Limit 结果
: 2 { "boo", "and:foo" }
: 5 { "boo", "and", "foo" }
: -2 { "boo", "and", "foo" }
o 5 { "b", "", ":and:f", "", "" }
o -2 { "b", "", ":and:f", "", "" }
o 0 { "b", "", ":and:f" }
 
对limit为负还是有点不理解,尤其是对 o -2组合,
 
现在我明白了,{ "b", "", ":and:f", "", "" } 第一个“”是因为两个o之间的空数据,第二个也是这个原因,最后一个是将"boo:and:foo"中最后空字符串也算进去的

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读