2013-04-23 11 views
7

\ N की जगह मैं \r\n के साथ सभी \n को बदलने के लिए की जरूरत है, लेकिन केवल तभी जब \n पहले से ही \r previosly नहीं है।
अर्थात
Hello\nGreat\nWorld ->Hello\r\nGreat\r\nWorld
Hello\r\nGreat\r\nWorld ->Hello\r\nGreat\r\nWorldजावास्क्रिप्ट, साथ r n

जावा में मैं अगले तरह से यह कर सकते हैं

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

लेकिन (?<!X) निर्माण जे एस में अनुपस्थित है।
कोई विचार, मैं जेएस में इसे कैसे कर सकता हूं?

+4

बस की जगह सभी '\ r \ n'' द्वारा \ n', कि सब के बाद ' \ n' \ r \ n' द्वारा। कोई फैंसी regex की जरूरत नहीं है। – Yoshi

+0

[संभावित डुप्लिकेट] (http://stackoverflow.com/questions/7376238/javascript-regex-look-behind- वैकल्पिक) –

उत्तर

27

सीधे शब्दों में \r मैच के एक वैकल्पिक हिस्सा बनाने, तो आप दंड के साथ की जगह ले सकता:

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

+1। फेलिक्स और मैंने दोनों ने इस पर विचार नहीं किया :) –

+1

@ जैक: मैंने वह सब देखा और वर्तमान में सोच रहा था "यह हमेशा मेरे साथ होता है" :) – Jon

+0

हाँ, यह अच्छी तरह से काम करता है! Thx – Ilya

संबंधित मुद्दे