2014-02-16 3 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") 
} 

Это будет только заменить первый экземпляр letter с b, мой вопрос, как я могу заменить каждый экземпляр 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 
Смежные вопросы