gpt4 book ai didi

Javascript 正则表达式和 parseInt

转载 作者:可可西里 更新时间:2023-11-01 02:35:21 25 4
gpt4 key购买 nike

我有一个 JavaScript 正则表达式来匹配字符串中的数字,我要乘以和替换它。

'foo1 bar2.7'.replace(/(\d+\.?\d*)/g, parseInt('$1', 10) * 2);

我希望它返回 'foo2 bar5.4' 但它返回 'fooNaN barNaN'

我在这里做错了什么?

最佳答案

parseInt('$1', 10) * 2 首先执行,其结果 传递给replace。你想使用回调函数:

'foo1 bar2.7'.replace(/(\d+\.?\d*)/g, function(match, number) {
return +number * 2;
});

此外,parseInt 将向下舍入任何浮点值,因此结果将是 "foo2 bar4"。相反,您可以使用一元加运算符将任何数字字符串转换为数字。

关于Javascript 正则表达式和 parseInt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7805479/

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