黑马程序员技术交流社区

标题: 关于 split 切字符串的疑问 [打印本页]

作者: o火o把o    时间: 2011-9-28 11:43
标题: 关于 split 切字符串的疑问
查阅split的 JDK API的时候 对第二个例子不是很懂,不知道为什么会在中间产生一个空字符串,大家帮忙看看。

split
public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。

例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:

Regex 结果
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }
作者: 匿名    时间: 2011-9-28 12:28
使用字符串“:“切割的结果是 { "boo", "and", "foo" } 这个应该没问题,
可是为什么使用字符串”o“结果是{ "b", "", ":and:f" } 呢?原因是当第一次遇到o时就切割了一个b,当第二次遇到o时由于第一次切割的位置o和本次切割的位置o相邻,两次切割的中间没有其他字符,所以就有了空字符串”“
作者: 匿名    时间: 2011-9-28 13:08
标题: 回复 沙发 的帖子
哦,明白了~~
切割完第一个字符串"b"之后,第二个字符串变成了"o:and:foo","o"出现在了最左边,于是切了一个空字符串出来了~~
作者: 匿名    时间: 2011-9-28 13:32
标题: 回复 藤椅 的帖子
最后两个o会切出一个“”空字符串么?
作者: 匿名    时间: 2011-9-28 16:00
标题: 回复 沙发 的帖子
如果是这样,在最后切割的时候是不是还有一个空格啊?因为你在切割最后的o的时候,最后的“o”还是一个还是一个字符串,o也是在最左边啊。




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