Java字符串按空行分割,包括末尾的空行

比如

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) 时:

应用正则表达式进行分割

保留所有空字符串,包括末尾的

相关推荐
念何架构之路3 分钟前
zap扩展生态与总结
java·前端·数据库
第七页独白1 小时前
汽车零件厂如何通过 QMS 真正落地 IATF 16949——QMS软件系统:品质检验-内审稽核-8d客诉管理:全星质量管理软件系统
java·前端·数据库
QCoding1 小时前
Spring AI Alibaba Graph实战:从ReAct Agent到Workflow,企业AI复杂流程该如何编排?
java·人工智能
用户094248568031 小时前
第25章:Java虚拟线程(Project Loom)实战与调度协作
java·jvm
砚底藏山河1 小时前
量化实战:截面因子有效性检验(IC 分析与分层回测)
java·python·金融·maven
wuminyu1 小时前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
Elastic 中国社区官方博客1 小时前
使用 Lucene 搜索你的 Bean — 索引
java·大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene
code2cat1 小时前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
她说彩礼65万2 小时前
C语言 堆区和栈区
java·linux·c语言
Zguigo2 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++