【问题标题】:Remove multiple line breaks (\n) in JavaScript删除 JavaScript 中的多个换行符 (\n)
【发布时间】:2014-05-22 15:15:30
【问题描述】:

我们有一个新员工入职表格,其中包含需要剥离的多个换行符(行间 4-5 个)。我想去掉多余的换行符,但仍然用一个 \n 隔开块。

示例:

New employee<br/>
John Doe

Employee Number<br/>
1234

我目前正在使用text = text.replace(/(\r\n|\r|\n)+/g, '$1');,但这会消除所有没有空格的换行符。

【问题讨论】:

标签: javascript jquery regex


【解决方案1】:
text = text.replace(/(\r\n|\r|\n){2,}/g, '$1\n');

使用它,它将删除至少有 2 个或更多的换行符

更新

关于 OP 的具体要求,我会稍微修改一下答案。

text = text.replace(/(\r\n|\r|\n){2}/g, '$1').replace(/(\r\n|\r|\n){3,}/g, '$1\n');

【讨论】:

  • 如果我正确理解要求,那不是我们想要的:regex101.com/r/dA1tP5
  • @ScottSauyet 更新了代码伙伴,感谢您指出这一点
  • 哦,是的,这行得通,而且比我的要简单得多...regex101.com/r/jC5aI4
  • 谢谢。问题是“New Employee”和“John Doe”之间有一个换行符,然后有几个换行符直到下一个值。这都是随机的。所以我想保留一个换行符并摆脱任何 2 个以上的换行符。 regex101.com/r/zC8pS7
  • 你没有得到预期的结果吗?
【解决方案2】:

我们可以如下整理正则表达式:

text = text.replace(/[\r\n]{2,}/g, "\n");

【讨论】:

    猜你喜欢
    • 2015-04-24
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多