Reputation: 29693
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?
Upvotes: 12
Views: 25166
Reputation: 437386
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")
Upvotes: 39