-2

我有一段文字:

我需要用“”替换一个换行符(\r\n),<br>当有多个换行符时,用一个换行符替换它。

例如:

LINE1 
LINE2

LINE3
LINE4



LINE3
LINE4

变成:

LINE1<br>LINE2
LINE3<br>LINE4
LINE5<br>LINE6

回答:

.replace(/([^\r\n])\r\n([^\r\n])/g, '$1<br>$2').replace(/[\r\n]+/g, "\r\n");
4

3 回答 3

6
str
   .replace(/\r\n([^\r\n])/g, "<br>$1")
   .replace(/[\r\n]+/g, "\r\n");
于 2012-07-20T15:42:48.077 回答
0

这可以通过一个简单的正则表达式来完成:

str.replace(/[\r\n]+/g, "<br>");
  • [\r\n]+匹配一个普通的换行符或回车符,后跟一个至少出现一次的换行符并将其替换为<br>
  • 修饰符告诉它g匹配不止一次
于 2012-07-20T15:46:10.167 回答
0

我会建议一些可以容忍不同换行符组合的东西:

str = str.replace(/[\r\n]+/g, "<br>");

这将匹配是否只有 CR、LF 或它们的任何组合,它将匹配它们的任何连续序列并将其替换为<br>. “g”标志告诉它替换字符串中的所有此类序列。

于 2012-07-20T15:46:18.340 回答