2014-09-23 79 views
0

我搜索字符串中的許多詞彼此字代替。我正在嘗試使用替換方法(here the description),但我不能將它用於多個單詞。讓我用一個例子:如何替換多個單詞在Firefox擴展

var test = new String("Hi how are you? lol"); 
var newTest = test.replace(/lol/, "ok", "gim"); 
console.log(newTest); 

此代碼正常工作,並打印「嗨,你好嗎?好吧」。我想替換不僅「大聲笑」,而且「嗨」,我試圖做到這一點:

var test = new String("Hi how are you? lol"); 
var newTest = test.replace(/lol||hi/, "ok", "gim"); 
console.log(newTest); 

但第二個版本不起作用。簡單的解決方法是將替換函數插入一個for併爲每個單詞調用函數,但我會一次更改所有單詞。你有什麼想法?非常感謝。

+2

正規表達式「或」是'|'。另外請注意,這將匹配「lolcat」和「hickey」。 – elclanrs 2014-09-23 08:51:34

回答

1

採用單|代替||。正則表達式支持OR這樣才

var test = new String("Hi how are you? lol"); 
var newTest = test.replace(/lol|Hi/gim, "ok"); 
console.log(newTest); 

OUTPUT:

ok how are you? ok 

還編寫的代碼是錯誤的。只有像這樣放置gim修改器纔會這樣工作:.replace(new RegExp("lol|hi","gim"),"ok");

.replace只有兩個參數。檢查here

+0

它的工作原理,再次感謝 – hasmet 2014-09-23 08:54:27