gpt4 book ai didi

Javascript Regexp 替换与另一个对象文字的属性名称匹配的多个字符串

转载 作者:行者123 更新时间:2023-11-30 07:12:09 25 4
gpt4 key购买 nike

我声明了这些:

var obj = {aaa: "came", bbb: "saw", ccc: "conquered", zzz: "discarded" };

var str = "I {aaa}, I {bbb}, I {ccc}. Then I {aaa} again."

我想要做的是 str.replace() 每个大括号字符串都带有来自 obj 的适当命名的属性。所以最后,我应该:

I came, I saw, I conquered. Then I came again.

谢谢。

编辑:链接的副本确实证明非常适合我的情况。此外,该问题的答案实际上为我提前不知道 obj 的属性的情况提供了动态解决方案。

最佳答案

捕获 {} 之间的内容,并使用替换器的回调来查找对象上捕获的属性:

var obj = {aaa: "came", bbb: "saw", ccc: "conquered", zzz: "discarded" };
var str = "I {aaa}, I {bbb}, I {ccc}. Then I {aaa} again.";

const output = str.replace(/{([^}]+)}/g, (_, prop) => obj[prop]);
console.log(output);

关于Javascript Regexp 替换与另一个对象文字的属性名称匹配的多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56608695/

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