Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换字符串中的值,而不在每行中循环_Javascript_Performance - Fatal编程技术网

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”)
是的,这将适用于这个确切的特定输出。但是我可能有每行有许多字段/列的输出,我可能需要替换某些字段,而不仅仅是第一个和最后一个。嗯,您没有提到。。在这种情况下,您可以创建一个正则表达式,其中包含所需数量的匹配组。