其中方法中的参数分别为String regex,int limit,regex为要进行切割的标识,limit是要把字符串用regex切割成几个字符串,limit为负数时,会将字符串切割成尽可能多的几个字符串,并且会保留最后出现的空字符串,当limit为0的时候,也会将字符串切割成尽可能多的几个字符串,但是不会保留最后出现的空字符串。
Regex Limit 结果[/td] : 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" }
public String[] split(String regex)该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数split方法。因此,所得数组中不包括结尾空字符串。
"boo:and:foo"
regex limit
o -1
split方法其实就是循环对字符串及其子串进行切割的,以下遵循这个模式:应用正则表达式后的第一个字符串--正则表达式--应用正则表达式后的子串,第一次:“b”---o---“o:and:foo”,第二次:“”---o---“:and:foo”,第三次:“:and:f”--o--“o”,第四次“”--o--“”
所以切割后的字符串数组为["b","o:and:foo","",":and:foo",":and:f","",""],
当limit为0时,就会去掉结尾处的空格,切割后的字符串就为{ "b", "", ":and:f" }
所有在limit的值为非正时候要注意切割后字符串末尾的空字符串的情况。
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |