javascript - 删除新行,除非新行前面有双空格

标签 javascript regex

我想从文本中删除新行,除非句子以双空格结尾(我使用的是 JavaScript)。

这个:

This
is
a
test.

应该转向这个:

This is a test.

但是这个:

This
is  //there is a double space here
a//but not here
test.

应该转向这个:

This is
a test.

到目前为止我的方法:我可以用一个新行替换多个空格后跟一个新行:

var doubleSpaceNewline = new RegExp(/(\s){2,}\n/g);
test = text.replace(doubleSpaceNewline, '\n');

但是我该如何删除换行符,而不删除我想保留的换行符呢?

我宁愿删除所有新行,除了前面有两个或多个空格的换行符,然后用单个换行符替换双空格 + 换行符。

我需要一个匹配 \s+ 的正则表达式,除非 (\s){2,}\n。似乎无法将两者结合起来。

最佳答案

text = text.replace("  \n", '****************');

text = text.replace("\n", ' ');

text = text.replace('****************', "  \n");

这就是你想要的吗?不使用正则表达式,但它的过程稍微简单一些。

关于javascript - 删除新行,除非新行前面有双空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29856784/

相关文章:

javascript - 使用 Ajax 的地下气象 API

javascript 未检测到链接的点击

javascript - 为 Javascript 类型数组创建位掩码

regex - sed 和 Mac OS X 与上、下和整个捕获控制序列的区别

json - VIM:查找双引号中的所有数字并删除双引号

javascript - 短路代替三元运算符

javascript - 需要在 JSF 中使用单选按钮 onclick 调用 JavaScript 函数

java - 模式匹配 Java 正则表达式 - "One-or-more"运算符

html - 当 HTML 文本跨多行时,如何在 beautifulsoup4 中返回格式良好的文本

python - 如何 grep 查找 unicode 字符?