给定一个像aaabba
这样的字符串,我想要一个将a's转换为b's和b's的函数到a's,返回bbbaab
。
我尝试了这个笨拙的方法:
var newa = [];
function swit(x) {
for (var i = 0; i < x.length; i++) {
if (x[i] === 'a') {
newa.push('b');
}
else if (x[i] === 'b') {
newa.push('a');
}
alert(newa);
}
}
swit("aaab");
点击了很多警报后,最后一个警报显示了预期的结果。但我希望它不带逗号,并且放在第一位 - 而不是经过多次迭代后:
我还尝试了 string.replace()
方法 - 与 for
循环结合使用:
function swit(x) {
for (var i = 0; i < x.length; i++) {
if (x[i] === 'a') {
x.replace('a', 'b');
}
else if (x[i] === 'b') {
x.replace('b', 'a');
}
alert(x);
}
}
swit("aaab");
但是什么都没有改变。为什么?
您能否告诉我出了什么问题以及如何获得所需的结果?
最佳答案
var str = "aaab";
str = str.replace(/a|b/g, v => {
if(v=="a"){
return "b"
}else{
return "a"
}
});
console.log(str);
关于javascript - 如何在 JavaScript 中替换字符串中的特定字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52607781/