在javascript中替换换行符

jac*_*ack 17 javascript escaping

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

我试过了:

myString = myString.replace("\\r?\\n", "<br />");
Run Code Online (Sandbox Code Playgroud)

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

Fel*_*ipe 43

试试这个:

myString = myString.replace(/[\r\n]/g, "<br />");
Run Code Online (Sandbox Code Playgroud)

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

myString = myString.replace(/\r?\n/g, "<br />");
Run Code Online (Sandbox Code Playgroud)

  • 这将有效,但它可能不是**正是OP想要的.问题中的几乎正则表达式是:'/\r?\n/g`将替换任何单个换行符*可选*前面有一个回车符,只有一个`<br>`.另一方面,你的正则表达式将用**两个**`<br>标签替换CR-LF序列. (3认同)