本文介绍了在java 1.6中String.split的行为?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的代码是:
String s = "1;;;; 23;;";
System.out.println(s.split(";").length);
并输出 5
。
split
的源代码是:
and gives as output 5
.The source code of split
is:
public String[] split(String regex) {
return split(regex, 0);
}
并且文档说:
字符串boo:and:foo,例如,产生以下结果$ b带有以下表达式的$ b:
The string "boo:and:foo", for example, yields the following results with these expressions:
Regex Result
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }
如果我打印我有的字符串:
If I print the strings I have:
1
23
我不应该从这个 1获得; ;;; 23 ;;
类似 {1,,,,23,}
?
推荐答案
不,五是正确的,因为你引用的文档声明:
No, five is correct, as your quoted docs state:
这就是为什么空数组末尾的字符串被省略。如果你想要空字符串,请按照Evgeniy Dorofeev的回答说明并指定-1的限制。
Which is why the empty strings at the end of the array are omitted. If you want the empty strings, do as Evgeniy Dorofeev's answer says and specify a limit of -1.
这篇关于在java 1.6中String.split的行为?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!