2009-01-28 75 views
0

我做的文本,我從JSON Web服務找回一些字符串替換,該字符串可能看起來像這樣:JavaScript字符串替換問題

"Hello I am a string.\r\nThis is a second line.\r\n\r\nThis is a bigger space" 

我想所有的\r\n<br />取代標記,以便在HTML的格式,但是當我做:

var string = result.replace('\r\n','<br />'); 

我只得到了第一個實例替換,而不是任何其他。

我在做什麼錯?

回答

7

嘗試與全球標誌設置一個正則表達式:

var string = result.replace(/\r\n/g,'<br />'); 
+0

就這麼做了。我忘了你可以在JavaScript中替換正則表達式 – 2009-01-28 22:08:54

1

沒有。這就是JavaScript替換函數的工作原理:)

您可以使用正則表達式來替換所有的出現。

var string = result.replace(/\r\n/g, '<br />'); 

雖然使用正則表達式來看看this鏈接

0

是最絕對你想在這種情況下,用什麼,你可能會發現自己至少一次或兩次以上,在這個問題到達在你生命中的某個時候,你會想要做一點點少於正常表達自然會做的事情的渺茫機會。出於這個原因,我將展示另一種方法是,同時實現同樣的事情,留下了潛在的定製更多的空間:

<script> 
while (result.indexOf('\r\n') != -1) 
{ 
result = result.replace('\r\n', '<br />'); 
} 
string = result; 
</script> 

我喜歡用這個方法(一while塊)和原型修改本地替換()方法附加到JavaScript中的String對象。