字符串替换双引号括号括起来

Yuv*_*Mac 6 javascript regex string replace ecmascript-6

如何将所有Double引号替换为打开和关闭大括号.

let str = "This" is my "new" key "string";
Run Code Online (Sandbox Code Playgroud)

我试过这个正则表达式

str.replace(/"/,'{').replace(/"/,'}')
Run Code Online (Sandbox Code Playgroud)

但我最终得到了这个:

{This} is my "new" key "string"
Run Code Online (Sandbox Code Playgroud)

这里只有第一个字正在改变,但我想改变所有的话.我希望结果如下:

{This} is my {new} key {string}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

小智 9

尝试使用全局正则表达式并使用捕获组:

let str = '"This" is my "new" key "string"';
str = str.replace(/"([^"]*)"/g, '{$1}');
console.log(str);
Run Code Online (Sandbox Code Playgroud)

"([^"]*)"正则表达式捕获",随后0以上的事情是不另一个",和一个闭合".替换$1用作引号中包含的内容的参考.