如何在 javascript 中执行正则表达式查找和替换,它交替“替换”和“查找下一个”

我可以在 Editpad 中通过运行宏交替“查找下一个”和“替换当前并查找下一个”来完成。但是,我有很多正则表达式文本替换来执行此操作,因此为每个替换都非常耗时。如果我想一次完成所有这些,我可以在 javascript 中全局执行,但我想要做的是替换一个,跳过下一个,替换下一个,依此类推到文档末尾。

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


侃侃无极
浏览 134回答 2
2回答

慕桂英3389331

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);

慕娘9325324

或者,如果您想避免使用辅助函数: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);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript