javascript - 如何在 JavaScript 中替换字符串中的特定字符?

标签 javascript string replace

给定一个像aaabba这样的字符串,我想要一个将a's转换为b'sb'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");

点击了很多警报后,最后一个警报显示了预期的结果。但我希望它不带逗号,并且放在第一位 - 而不是经过多次迭代后:

enter image description here

我还尝试了 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/

相关文章:

php - 在 PHP 中压缩字符串的最佳方法

c - C程序统计字数(不包括数字)

javascript - npm 错误!不支持的 URL 类型 "workspace:": workspace:*

javascript - 如何修复 Fotorama 中图像之间的滞后?

javascript - Angular:指令与管道

r - 在字符串列中,删除第一个逗号(分隔符)之前的文本

javascript - 浏览器是否处理 dom 更改匹配?

javascript - 使用 JavaScript 的替换函数在图表中表示值

php - MySQL在插入前删除空格

javascript - 单击按钮时水平滚动(视口(viewport)+scrollLeft)