好的,所以我正在尝试创建一个JavaScript函数来替换字符串中的特定字符。我的意思是,比方说,一个字符逐个字符地搜索字符,如果匹配,用另一个字符替换它。例如,将“a”替换为“x”:Hello, how are you?
变为Hello, how xre you?
,Greetings and salutations
变为Greetings and sxlutations
。
答案 0 :(得分:0)
由于String.replace()
似乎没有满足OP的要求,所以这里有一个完整的功能来完成OP要求的东西。
function rep(s,from,to){
var out = "";
// Most checks&balances ommited, here's one example
if(to.length != 1 || from.length != 1)
return NULL;
for(var i = 0;i < s.length; i++){
if(s.charAt(i) === from){
out += to;
} else {
out += s.charAt(i);
}
}
return out;
}
rep("qwertz","r","X")
答案 1 :(得分:0)
var s1 = document.getElementById('s1').innerHTML;
var s2 = s1.replace('a', 'x');
document.getElementById('s2').innerHTML = s2;
&#13;
<h1>Starting string:</h1>
<p id="s1">Hello, how are you?</p>
<h1>Resulting string:</h1>
<p id="s2"></p>
&#13;
答案 2 :(得分:0)
这是一个简单的实用程序函数,它将使用替换字符/字符串替换某些字符串 str 中的所有旧字符。
function replace(str, old, replacement) {
var newStr = new String();
var len = str.length;
for (var i = 0; i < len; i++) {
if (str[i] == old)
newStr = newStr.concat(replacement);
else
newStr = newStr.concat(str[i]);
}
return str;
}
答案 3 :(得分:0)
要删除多个字符,您可以使用正则表达式
yourString.replace(new RegExp('a', 'g'), 'x')
要删除具有不区分大小写的匹配项,请使用
yourString.replace(new RegExp('a', 'gi'), 'x')