其实没打算写这么一篇博文的,但是昨天在逛论坛的时候,发现一帖子,然后我又把帖子的内容在群里发了一通,结果出现了让人惊讶的结果,所以这里简单的给大家分享一下split()方法,免得大伙儿以后还会出现这种基本知识错误!
接着说一下,昨天看到的帖子内容:
String[] str1 = ";;;".split(";"); String[] str2 = ";a;;".split(";"); String[] str3 = ";;a;".split(";"); System.out.println(str1.length); System.out.println(str2.length); System.out.println(str3.length);
如果大家经常看jdk api的话,这种问题应该不会犯错!
public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。 例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果: Regex 结果 : { "boo", "and", "foo" } o { "b", "", ":and:f" } 参数: regex - 定界正则表达式 返回: 字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的 抛出: PatternSyntaxException - 如果正则表达式的语法无效
最终的结果是:
str1的长度是:0
str2的长度是:2
str3的长度是:3
你的答案对了吗?这里不多说了,答案就在“所得数组中不包括结尾空字符串”,自个慢慢理解一下!
String的split()方法探索和大揭秘,布布扣,bubuko.com
原文地址:http://blog.csdn.net/luo201227/article/details/37563503