正则表达式在一个替换中分别替换两个单独的东西

时间:2018-10-20 20:24:07

标签: javascript regex ecmascript-6

我需要将1替换为0,并在字符串中将0替换为1。我知道如何用另一种东西代替,但是如何分别替换两件。请参阅下面的尝试。

const broken = str => {
  return str.replace(/1/g, '0').replace(/0/g, '1');
}

这是一个示例:

输入

  

011101

输出

  

100010

1 个答案:

答案 0 :(得分:1)

您可以使用一个函数和一个对象来获取替换值。

const broken = str => str.replace(/[01]/g, match => ({ 0: 1, 1: 0 }[match]));

console.log(broken('1100'));