You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java 8正则表达式优化:将连续2或9个换行符减少1个

解决方案

可以用Java正则表达式的零宽断言(反向预查+正向预查)精准匹配恰好2个或9个连续换行符,再通过链式替换完成需求,一行代码即可实现:

String result = input.replaceAll("(?<!\\n)\\n{2}(?!\\n)", "\n")
                     .replaceAll("(?<!\\n)\\n{9}(?!\\n)", "\n\n\n\n\n\n\n\n");

代码解释

  • (?<!\n):反向预查,确保匹配位置的前一个字符不是换行符,避免误匹配多连续换行的中间段
  • \n{2}:匹配连续2个换行符
  • (?!\n):正向预查,确保匹配位置的后一个字符不是换行符,保证是恰好2个连续换行
  • 第二个replaceAll逻辑一致,匹配恰好9个连续换行符,替换为8个换行符

示例验证

输入字符串:

1234

4321foo1234








4321

处理后输出:

1234
4321foo1234







4321

内容的提问来源于stack exchange,提问作者ShaneK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 10:18:08