本帖最后由 呆呆沙师妹 于 2014-4-19 13:38 编辑
查看String.java源码,可看到split可接收的字符串必须满足以下两个要求:
1、当接收的字符串长度为1,要保证它不是“.$|()[{^?*+\\”其中任一字符;"\\"长度为1,且为特殊字符一员
2、当接收的字符串长度为2时,字符串第一位字符是反斜杠,但第二位字符不能是ASCII格式的数字或字母;"\\\\"长度为2,且第二位字符是'\\',故能正常切割。
在"c:\\\\"中,它切了两次,在"\\"与"\\"之间无其他字符故出现了空行。
String.java源码中split相关部分内容:
public String[] split(String regex) {
return split(regex, 0);
}
public String[] split(String regex, int limit) {
/* fastpath if the regex is a
(1)one-char String and this character is not one of the
RegEx's meta characters ".$|()[{^?*+\\", or
(2)two-char String and the first char is the backslash and
the second is not the ascii digit or ascii letter.
*/ |