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

如何使用JavaScript正则将连续重复换行符替换为少一次的数量

解决方案

完全可以通过正则实现,不需要额外捕获重复次数,调整正则匹配规则即可:

通用方案(兼容所有支持正则分组替换的环境)

你只需要给原有匹配规则增加分组,将连续换行中除第一个以外的部分捕获为分组,替换时直接保留分组内容即可:

  • 匹配正则:/\n(\n+)/g
  • 替换内容:$1(Python等部分语言写为\1)

示例代码

JavaScript环境:

const originStr = "hello\n\n\ngoodbye";
const result = originStr.replace(/\n(\n+)/g, '$1');
// 输出结果:hello\n\ngoodbye

Python环境:

import re
origin_str = "hello\n\n\ngoodbye"
result = re.sub(r"\n(\n+)", r"\1", origin_str)

兼容Windows换行的方案

如果你的字符串存在Windows格式的换行符\r\n,调整正则即可同时兼容两种换行格式:

  • 匹配正则:/(\r?\n)(\r?\n+)/g
  • 替换内容:$2(Python等部分语言写为\2)

实现原理

匹配规则会找到所有连续2次及以上的换行序列,自动剔除序列的第一个换行,保留剩下的k-1个换行(k为原连续换行次数),刚好符合你要求的连续重复次数减1的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:15:04