问题描述
||
我试图将json对象中的
\\r
或\\n
字符实例替换为<br />
,以显示在网站上。
我试过了:
myString = myString.replace(\"\\\\r?\\\\n\",\"<br />\");
但这似乎无济于事。当我用其他东西替换正则表达式时(例如\"a\"
,替换按预期工作)。有什么想法为什么对换行符不起作用吗?
解决方法
尝试这个:
myString = myString.replace(/[\\r\\n]/g,\"<br />\");
更新:
正如Pointy在下面的评论中所述,这将用两个<br />
替换\\r\\n
的顺位,正确的正则表达式应为:
myString = myString.replace(/\\r?\\n/g,\"<br />\");
,试试replace(/\\r\\n|\\n/,\'<br />\')
,这为我工作:
str = str.replace(/\\\\n|\\\\r\\\\n|\\\\r/g,\'<br/>\');
使用双斜杠
,CSS:
white-space: pre-wrap;
是一种效率更高的方法。