Замена символа новой строки в 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" )