黑马程序员技术交流社区

标题: java中关于String的split(String regex, int limit) 方法 [打印本页]

作者: heimaxxm    时间: 2018-5-19 17:01
标题: java中关于String的split(String regex, int limit) 方法
昨天回答一个问题时,涉及到String类的split(String regex)方法,这个方法实现是调用的split(String regex,int limit)方法且limit为0. 所以查了点资料,解释这个方法.

下面是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"中最后空字符串也算进去的
作者: Yin灬Yan    时间: 2018-5-20 13:50
我来占层楼啊   




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2