比如
java
String s = "a\nb\n\nc\n\n\n\n";
String[] split = s.split("\\R");
String[] splitResult = {"a", "b", "", "c"};
这样的结果就不包含后面的空格
得换成这样的
java
String[] split = s.split("\\R", -1);
String[] splitResult = {"a", "b", "", "c", "", "", "", ""};
\R 是 Java 8+ 引入的正则表达式,匹配任何 Unicode 换行符序列(相当于 \n, \r\n, \r 等)。
当使用 split(regex) 时,相当于 split(regex, 0),这会:
应用正则表达式进行分割
删除末尾的空字符串
当使用 split(regex, -1) 时:
应用正则表达式进行分割
保留所有空字符串,包括末尾的