如何在JavaScript中执行正则表达式查找和替换,从而在其中替换“替换”和“查找下一个”

时间:2019-10-24 15:10:51

标签: javascript regex

我可以通过在宏中交替运行“查找下一个”和“替换当前并查找下一个”来执行此操作。但是,我要替换很多正则表达式文本才能做到这一点,因此每执行一次都是很费时间的。如果要一次执行所有操作,可以在javascript中全局执行,但我想做的是替换一个,跳过下一个,替换下一个,等等,直到文档末尾。

我已经尝试过搜索答案,但是所有结果都是关于查找和替换每次出现的事情,我已经知道该怎么做。

1 个答案:

答案 0 :(得分:0)

String.prototype.replace()是您要找的mdn

let replaceEveryOther = (string, replaced, repalceWith) => {
  let alternate;
  return string.replace(replaced, a =>
    (alternate = !alternate) ? repalceWith : a);
};

let string = 'thee doublee ee\'s neeeed to be fixeed soon!';
let fixed = replaceEveryOther(string, /e/g, '');
console.log(fixed);

或者,如果您想避免具有辅助功能:

let string = 'thee doublee ee\'s neeeed to be fixeed soon!';
let fixed = string.replace(/e/g, (function(a) {
  return (this.alternate = !this.alternate) ? '' : a;
}).bind({}));
console.log(fixed);