在javascript中替换换行符

时间:2011-04-14 14:08:05

标签: javascript escaping

我正在尝试用\r替换json对象中\n<br />个字符的实例,以便在网站上显示。

我试过了:

myString = myString.replace("\\r?\\n", "<br />");

但这似乎没有做任何事情。当我用其他东西替换正则表达式时(例如"a",替换按预期工作)。任何想法为什么这不适用于换行符?

4 个答案:

答案 0 :(得分:42)

试试这个:

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

<强>更新: 正如Pointy在下面的评论中所说,这将用\r\n取代<br />的序列,正确的正则表达式应该是:

myString = myString.replace(/\r?\n/g, "<br />");

答案 1 :(得分:1)

尝试replace(/\r\n|\n/, '<br />')

答案 2 :(得分:1)

这对我有用:

str = str.replace(/\\n|\\r\\n|\\r/g, '<br/>');

使用双斜杠

答案 3 :(得分:1)

CSS:

 white-space: pre-wrap;

是一种更有效的方法。