每隔2个句点后添加换行符

时间:2014-06-23 19:29:43

标签: javascript regex

我正在寻找一个解决方案,可以在每个第二个句点之后将长JSON字符串与换行符分开。

这个正则表达式出了什么问题?

var text = 'Lorem ipsum dolor. Consetetur sadipscing elitr. Sed diam nonumy eirmod tempor invidunt';

text.replace(/(\.(\s+))/g, '\$1 <br><br>');

// Expected behaviour
// Lorem ipsum dolor. Consetetur sadipscing elitr. <br><br>Sed diam nonumy eirmod tempor invidunt

// Current behaviour
// Lorem ipsum dolor. <br><br>Consetetur sadipscing elitr. <br><br>Sed diam nonumy eirmod tempor invidunt

2 个答案:

答案 0 :(得分:2)

以下内容应该有效:

text.replace(/(\.[^.]*\.)/g, '$1 <br><br>');

[^.]*将匹配任何非句号的字符数,因此此正则表达式将恰好与两个句点匹配,并且它们之间包含任何内容。

答案 1 :(得分:0)

替代方案:

text.replace(/(.*?\.){2}/g, '$& <br><br>')

这将期望两个带有句点的文本块,然后将其替换为匹配后跟换行符。

如果您想让休息时间更加稀疏,您可以轻松使用该号码。