2011-12-28 107 views
0

修改字符串如何用一些其他字詞替換字符串中的某些單詞?例如:通過替換

var text1 = "This is a sentence. It is a pencil." 
text2 = modify(text1); 

我希望text2爲「這是一句話,我是一支鉛筆。」

所以修改函數替換這個 - >也就是說,是 - >是

回答

4

要與was替換子is的所有實例可以使用replace[MDN]方法:

text2 = text1.replace(/is/g, "was"); 

注意,因爲is是它的一部分this,它實際上會返回

Thwas是一句話

如果你想更換的This所有實例Thatiswas,你可以鏈的replace方法的調用。

text2 = text1.replace(/This/g, "That").replace(/is/g, "was"); 

這將正確地執行從

您更換這是一個句子。它是一支鉛筆。

這是一個句子。這是一支鉛筆。

您可以see this in action on jsFiddle.


注意查找和替換像這樣的行動總能產生意想不到的後果。例如,這個字符串

荊棘是不好的導彈和玉米。您更換後

會變成這樣:

Thatles和荊棘是壞mwassiles和雞眼。

這種東西俗稱爲the Clbuttic mistake

+0

如果什麼有更多的單詞來替換?如果我想讓它成爲「這是一句話」?這 - >那是 - >是 – Rckt 2011-12-28 16:58:56

+0

有沒有解決方案呢?我不想讓它成爲「Thwas」 – Rckt 2011-12-28 17:03:47

+0

我該如何解決意想不到的後果? – Rckt 2011-12-28 17:12:43

0
text1 = text1.replace('is', 'was'); 

Btw,。取代接受正則表達式以及

+0

如果有更多的單詞需要替換,該怎麼辦?如果我想讓它成爲「這是一個句子」? This-> That is->是 – Rckt 2011-12-28 16:59:27

+0

請注意,這隻會替換「is」的第一個實例。 – 2011-12-28 16:59:32

0

利用JavaScript的替代方法 -

http://www.w3schools.com/jsref/jsref_replace.asp

注:要更換的JavaScript字符串的每次出現,你必須提供replace()方法用一個正則表達式全局修飾符作爲第一個參數。

+0

w3schools不是一個好的來源,請參閱http://w3fools.com/ – MateusBR 2011-12-28 16:59:34

0

你可以使用JavaScript的Replace功能是這樣的:

var text2 = text1.replace('is','was');