Replacing newline character in javascript

早过忘川 提交于 2019-12-03 16:46:10

问题


I am trying to replaces instances of \r or \n characters in my json object with <br /> for display on a website.

I tried:

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

But this doesn't seem to do anything. When I replace the regex with something else (like "a" for instance, the replace works as expected). Any ideas why this isn't working for the newline chars?


回答1:


Try this:

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

Update: As told by Pointy on the comment below, this would replace a squence of \r\n with two <br />, the correct regex should be:

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



回答2:


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




回答3:


This worked for me:

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

Using double slash




回答4:


CSS:

 white-space: pre-wrap;

Is a far more eficient method.



来源:https://stackoverflow.com/questions/5664503/replacing-newline-character-in-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!