2013-08-02 67 views
1

我有這樣的文字:更換一些「 n」不工作

謝爾頓的母親瑪麗是訪問。但喜悅並沒有持續多久:獲取,而不是由他的母親,一個烤雞準備,她更喜歡的提案倫納德去吃壽司。謝爾頓還制定出了節目的娛樂瑪麗。但他必須接受震驚地注意到,他的母親拒絕參加由諾貝爾獎獲得者的演講,而是喜歡做與其他城市巡演。\ n \ nLeonard和謝爾頓是輝煌的物理學家,最依賴於他們的公寓,並保持自己的視頻遊戲。只有她的鄰居竹篙只是偶爾管理提供多種。

現在我想用一個\n\n<br />更換。所以,當我執行下面的線,它不會做任何事情。

replace(/(\r\|\n|\r)/gm, "<br />"); 

但是,它會在控制檯的工作。

+1

你的明文沒有換行.. – Halcyon

+0

@FritsvanCampen它_does_有'\ n \ n「 – Neal

+0

它has' \ n \ n'的xD –

回答

3

既然你似乎想在這樣一個文本,以取代\n\nfoo\n\nbar - 這對我的方式聽起來很奇怪 - 你可以用這個正則表達式做:

var plain = "foo\\n\\nbar"; 
console.log(plain.replace(/\\n\\n/gm, "<br />")); 
+0

做得好:)謝謝,是啊我知道這聽起來很奇怪,但我從一個JSON文件得到這個,我必須取代它。但好的工作:) –

2

試試這個方法:

var r = new RegExp("\n\n" , "g"); 
str = str.replace(r, "<br />"); 

的jsfiddle:http://jsfiddle.net/bmMQN/4/

+0

不,不工作.. –

+0

@MichaelUnterthurner看一看這個的jsfiddle:http://jsfiddle.net/bmMQN/ – Cherniv

+1

@Cherniv做節目沒有它不工作,你的純文本有'\ N' not' \\ N」。 – Halcyon

0

下面的線將與<br />天替換換行符。

replace(/\r?\n/g, '<br />'); 
+0

不幸的是,不工作(在我的情況..) –

1

你的代碼是失蹤1 n

replace(/(\r\|\n|\r)/gm, "<br />"); 

應該

replace(/(\r\n|\n|\r)/gm, "<br />"); 

因爲它是現在,它匹配「\ r | \ n」或「\ r」

然而,它確實似乎沒有你的文本沒有換行符,但反斜槓字符和字母n中的評論來看(\n )。

從而爲他們正確的正則表達式是

/(\\r\\n|\\n|\\r)/gm 
+0

做得好:)謝謝:D –