Javascript 替换字符串中的值,而不在每行中循环
我有以下输出字符串:Javascript 替换字符串中的值,而不在每行中循环,javascript,performance,Javascript,Performance,我有以下输出字符串: "ABC",1,"123 Corner St","N" "ABC",1,"333 Brick Ave","N" 我需要用YYY替换所有“ABC”,不包括报价。同时将最后一个字段中的双引号删除为N。结果输出应为: YYY,1,"123 Corner St",N YYY,1,"333 Brick Ave",N 如何实
"ABC",1,"123 Corner St","N"
"ABC",1,"333 Brick Ave","N"
我需要用YYY替换所有“ABC”,不包括报价。同时将最后一个字段中的双引号删除为N。结果输出应为:
YYY,1,"123 Corner St",N
YYY,1,"333 Brick Ave",N
如何实现这一点而不必遍历字符串输出的每一行?也只能使用香草JavaScript,最好是旧版本。这可以通过使用字符串替换为正则表达式来实现:
const str1='“ABC”,1,“123拐角街”,“N”
const str2='“ABC”,1,“布里克大街333号”,“N”
console.log(str1.replace(/“ABC”,(.*),“N/,“YYY,$1,N”))
console.log(str2.replace(/“ABC”,(.*),“N”/,“YYY,$1,N”)
我个人不喜欢使用它们,但这听起来像是多行文本,或者如果它是多行文本,您可以使用str.replace(/^“ABC”,(.*),“N”$/mg,“YYY,$1,N”)
是的,这将适用于这个确切的特定输出。但是我可能有每行有许多字段/列的输出,我可能需要替换某些字段,而不仅仅是第一个和最后一个。嗯,您没有提到。。在这种情况下,您可以创建一个正则表达式,其中包含所需数量的匹配组。