我想从文本中删除新行,除非句子以双空格结尾(我使用的是 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/