Java中String按换行分割时如何保留末尾空行对应的元素?
Java字符串分割保留末尾换行产生的空元素
你遇到的问题是String.split("\\R")默认会丢弃末尾的空元素,要保留这些元素,直接使用Java内置的split方法的双参数版本即可,无需额外正则表达式。
Java的split方法有两个核心重载:
split(String regex):等价于split(regex, 0),当limit为0时,会自动忽略分割结果末尾的空字符串split(String regex, int limit):当limit设为负数时,会保留所有分割产生的元素,包括末尾的空元素
直接修改代码为:
String s = "a\nb\n\nc\n\n\n\n"; String[] split = s.split("\\R", -1); // 最终结果:{"a", "b", "", "c", "", "", "", ""}
这个方法完全利用Java内置API实现,简洁高效,正好匹配你的需求。
内容的提问来源于stack exchange,提问作者Matjaz
相关产品推荐
相关产品推荐

