Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

javascript, replace \n with \r\n

I need to replace all \n with \r\n, but only if \n hasn't already \r previosly.
i.e.
Hello\nGreat\nWorld -> Hello\r\nGreat\r\nWorld
Hello\r\nGreat\r\nWorld -> Hello\r\nGreat\r\nWorld.

In Java i can do it in next way

"Hello\nGreat\nWorld".replaceAll("(?<!\r)\n", "\r\n");  

But (?<!X) construct is absent in JS.
Any ideas, how can I do it in JS?

like image 648
Ilya Avatar asked Apr 23 '13 09:04

Ilya


2 Answers

Simply make the \r an optional part of the match, then you can replace with impunity:

"Hello\r\nWorld\n".replace(/\r?\n/g, "\r\n")
like image 107
Jon Avatar answered Nov 20 '22 14:11

Jon


str.replace('\r\n', '\n').replace('\n', '\r\n')
like image 6
RichieHindle Avatar answered Nov 20 '22 14:11

RichieHindle