如何替换字符' a'用' b'和' b'用' a'在一个字符串?

时间:2017-04-30 10:58:02

标签: javascript node.js

假设我有以下字符串。

  blaah blaah blaah blaah

结果字符串应为:

  

albbh albbh albbh albbh

在JavaScript中是否有任何内置方法可以在字符串中查找和替换这样的字符?

2 个答案:

答案 0 :(得分:5)

您可以这样做:



var str = "blaah blaah blaah blaah";
str = str.replace(/a|b/g, v => {
       if(v=="a"){
         return "b"
       }else{
         return "a"
       }
    });
    
console.log(str);




您可以找到有关其工作原理的更多详细信息HERE

基本思想是为每个匹配调用该函数,其返回值将是替换字符串。

答案 1 :(得分:1)

您可以对ab进行分组,并使用替换回调来查看您是要替换a还是b

str = str.replace(/(a)|b/g, function(match, a) {
  return a? "b": "a";
});

var str = "blaah blaah blaah blaah";

var newStr = str.replace(/(a)|b/g, (_, a) => a? "b": "a");

console.log(str, "becomes", newStr);