2014-02-16 696 views
2

我無法替換字符串中的字符。用另一個字符串替換字符串中的字符?

下面的代碼我目前有:

var entry_value = document.getElementById("entry_box").value; 
var length = entry_value.length; 

for(var l = 0; l < length; l += 1) { 
    letter = encoded[l] 
    encoded = entry_value.replace(letter, "b") 
} 

這隻有在b取代letter首先,我的問題是我如何更換整個字符串letter每一個實例?

+0

你的代碼是無效的,試試l ponciste

+0

變量'length'是for循環之前定義的 – jabbawabba

+0

ok,即可以工作:-) – ponciste

回答

3

你需要使用一個全球性的正則表達式,而不是字符串的模式:

"aaaa".replace("a", "b") // "baaa" 
"aaaa".replace(/a/g, "b") // "bbbb" 

試試這個:

encoded = entry_value.replace(new RegExp(letter, "g"), "b") 
3

你可以簡單地做

entry_value = entry_value.split(letter).join("b"); 

例如,

var entry_value = "abcdcfchij"; 
entry_value = entry_value.split("c").join("b"); 
console.log(entry_value);  // abbdbfbhij 
相關問題