将字符串替换为另一个字符串?

时间:2014-02-16 13:20:37

标签: javascript

我在替换字符串中的字符时遇到了问题。

以下是我目前的代码:

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的每个实例?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:3)

您需要使用全局正则表达式而不是字符串作为模式:

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

试试这个:

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