拆分使用.返回0

Ram*_*Ram 2 java regex string

String value = "good.day";
String splitValues[] = value.split(".");
System.out.println(splitValues.length);
Run Code Online (Sandbox Code Playgroud)

上面代码的输出是0.我知道split方法使用正则表达式.所以我们必须使用转义序列"\"来使它工作.但我的问题是为什么这个输出?如果.是一个代表任何字符的元字符,我们应该得到字符串的长度,因为输出不是?

Mal*_*imi 6

请记住,当您拆分时,参数将被删除.因此,当所有字符被分割时,没有剩余的字符.

  • 这是一个很好的答案的一半.为了获得我的upvote,你需要指出`split`方法明确地丢弃尾随的空字符串. (8认同)