2010-08-16 66 views
2

這將是一種很好的方法。我有一個字符串有很多「& lt;」和& gt;我想用<和>替換它們。所以我寫了這一點:如何簡化此密碼

var str = &lt;/text&gt;&lt;word34212&gt; 
var p = str.replace('\&lt\;','\<'); 
var m = p.replace('\&gt\;','\>'); 

但是這只是在做各的第一個實例 - 和& LT後續實例;/& GT;沒有被取代。我認爲首先要計算& lt;然後在每次迭代中循環並替換一個代碼實例...然後對&>但顯然這很囉嗦。

任何人都可以提出一個更好的方法來做到這一點?

回答

6

來替代多個occurances您使用正則表達式,這樣就可以指定全局(G)標誌:

var m = str.replace(/&lt;/g,'<').replace(/&gt;/g,'>'); 
4

來自:http://www.bradino.com/javascript/string-replace/

絃樂 JavaScript函數替換替換字符串中第一次出現 。這個函數與php函數str_replace類似, 和 有兩個簡單的參數。第一個 參數是查找的模式,而 的第二個參數是字符串到 ,當找到時替換模式。 javascript功能不會 全部替換...

要全部替換,您必須做一個 稍有不同。全部更換 出現在字符串中,用G 修改如下:

str = str.replace(/find/g,」replace」) 
+0

非常感謝所有人。我做過谷歌!必須正確學習REGEX。 – 2010-08-16 19:59:53

0

我事情關聯數組[正則表達式 - >替換]和一個迭代會做

2

你需要使用全局修改:

var p = str.replace(/\&lt\;/g,'\<');