gpt4 book ai didi

javascript - 替换 javascript 字符串中的 ${...}?

转载 作者:行者123 更新时间:2023-11-29 18:21:16 25 4
gpt4 key购买 nike

如何替换 javascript 字符串中 ${...} 的所有实例?示例:

var before = "My name is ${name} and I like ${sport} because ${sport} is challenging."

成为

var after = "My name is Bob and I like soccer because soccer is challenging."

我尝试遵循 Replace multiple strings with multiple other strings 中的最佳答案,但您不能拥有以符号开头的键...

非常感谢!

最佳答案

修改您链接的问题的答案,您可以 capture匹配的一部分(仅名称)并将其用作键:

var str = "My name is ${name} and I like ${sport} because ${sport} is challenging.";
var mapObj = {
name:"Bob",
sport:"soccer"
};
str = str.replace(/[$]{([^{}]+)}/g, function(match, key){
return mapObj[key];
});

匿名函数的第二个参数将填充模式中第一对括号内匹配的内容(即 [^{}]* 匹配的内容)。

当然,您应该添加一些健全性检查,确保您的 key 确实存在于 map 中。或者,使用其他问题中的方法并仅在模式中列出允许的名称:

/[$]{(name|sport)}/g

关于javascript - 替换 javascript 字符串中的 ${...}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18473128/

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