我的代码是:
String s = "1;;;; 23;;";
System.out.println(s.split(";").length);
并给出作为输出5
。的源代码split
是:
public String[] split(String regex) {
return split(regex, 0);
}
并且文档说:
此方法的工作方式就像通过使用给定表达式和零限制参数调用双参数 split(java.lang.String,int) 方法一样。因此,尾随的空字符串不包含在结果数组中。
例如,字符串“boo:and:foo”通过这些表达式产生以下结果:
Regex Result : { "boo", "and", "foo" } o { "b", "", ":and:f" }
如果我打印我拥有的字符串:
1
23
我不应该从中得到类似的1;;;; 23;;
东西{"1", "", "", "", " 23", ""}
吗?