Замена символа новой строки в javascript

Я пытаюсь заменить экземпляры символов \r или \n в моем объекте json <br /> для отображения на веб-сайте.

Я пробовал:

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

Но это ничего не делает. Когда я заменяю регулярное выражение чем-то другим (например, "a", замена работает так, как ожидалось). Любые идеи, почему это не работает для символов новой строки?

Ответы

Ответ 1

Попробуйте следующее:

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

Обновление: Как сказал Поустинг в комментарии ниже, это заменит спрямление \r\n двумя <br />, правильное регулярное выражение должно быть:

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

Ответ 2

CSS

 white-space: pre-wrap;

Это гораздо более эффективный метод.

Ответ 3

попробуйте replace(/\r\n|\n/, '<br />')

Ответ 4

Это сработало для меня:

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

Использование двойной косой черты

Ответ 5

Используйте это Заменить ( "\ r\n", "\ r\n" )