gpt4 book ai didi

javascript - 每两次出现字符后替换字符串

转载 作者:行者123 更新时间:2023-11-28 08:21:14 24 4
gpt4 key购买 nike

使用 javascript 变量,我想替换每个出现的单词(在示例中:将“OR”替换为 || 符号),但前提是它不出现在双引号字符串中。

是否可以使用正则表达式

我正在查看的示例:

'one OR " two OR " OR three OR five OR " OR six "'.replace( regex , ???) is giving
'one || " two OR " || three || five || " OR six "'

我尝试过:

regex = new RegExp("([^\"]*)(OR?)([^\"]*\"[^\"]*\")" , "gi");
text = text.replace( regex , "$1||$3");

结果:

'one || " two OR " OR three OR five || " OR six "'

这让我需要替换一些 OR。

如果我尝试再次进行替换,以摆脱剩余的 OR,则替换(当然)不起作用:

'||ne || " two OR " OR three || five || " OR six "'

“one”中的字母“o”已被替换为 || 符号,这不是有意的!

是否可以使用 regExp 来处理?

最佳答案

好的,你想要正则表达式吗?我会给你正则表达式:

var str = 'one OR " two OR " OR three OR five OR " OR six "';
var res = str.replace(/OR/g, '||');
console.log(res.replace(/(.*?)(\".*?)\|\|(.*?\")/g, '$1$2OR$3'));

享受马迪!

关于javascript - 每两次出现字符后替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22934198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com