2013-04-23 218 views
7

我需要用\r\n替換全部\n,但前提是\n還沒有\r

Hello\nGreat\nWorld - >Hello\r\nGreat\r\nWorld
Hello\r\nGreat\r\nWorld - >Hello\r\nGreat\r\nWorldjavascript,用 r n替換 n

在Java中我能做到這一點在明年的方式

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

(?<!X)結構是JS缺席。
任何想法,我怎麼能在JS中做到這一點?

+4

剛剛替換所有'\ r \ N'通過'\ N',之後,所有' \ n \'\ r \ n'。沒有花哨的正則表達式需要。 – Yoshi 2013-04-23 09:04:12

+0

[可能的重複](http://stackoverflow.com/questions/7376238/javascript-regex-look-behind-alternative) – 2013-04-23 09:04:20

回答

27

簡單地使\r比賽的可選部分,那麼你就可以肆無忌憚地取代:

"Hello\r\nWorld\n".replace(/\r?\n/g, "\r\n") 
+1

+1。菲利克斯和我都沒有考慮這個:) – 2013-04-23 09:07:01

+1

@傑克:我看到了所有這一切,並且正在思考「這一直髮生在我身上」:) – Jon 2013-04-23 09:07:39

+0

是的,這個效果很好! Thx – Ilya 2013-04-23 09:09:03

3
str.replace('\r\n', '\n').replace('\n', '\r\n')