gpt4 book ai didi

javascript - 是否可以在字符串模板中插入 Javascript 正则表达式匹配?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:29:50 33 4
gpt4 key购买 nike

例如...(失败)

const currencyMap = {
"$": "USD",
"€": "EUR",
};

const r = '$100'.replace(/(\$)([0-9]*)/g, `${currencyMap[$1]}$2`);
console.log(r);

有没有办法让这种事情发挥作用?$1 在字符串中使用时可用,但不能用作键。

最佳答案

很遗憾,不能,您必须改用替代函数:

const currencyMap = {
"$": "USD",
"€": "EUR",
};

const r = '$100'.replace(/(\$)(\d*)/g, (_, $1, $2) => currencyMap[$1] + $2);
console.log(r);

另请注意,您可以使用 \d 代替 [0-9],它使正则表达式更易读。

如果您实际上不需要第二组来处理一些特殊的事情,您可以只回显对象中的匹配项:

const currencyMap = {
"$": "USD",
"€": "EUR",
};

const r = '$100'.replace(/[$€]/g, match => currencyMap[match]);
console.log(r);

关于javascript - 是否可以在字符串模板中插入 Javascript 正则表达式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52979440/

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