我在替换字符串中的字符时遇到了问题。
以下是我目前的代码:
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 :(得分: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")