Javascript正则表达式:用逗号替换最后一个点

2023-12-13

我有以下代码:

var x = "100.007"
x = String(parseFloat(x).toFixed(2));
return x
=> 100.01

这效果非常好,正是我想要的。我只想要一个小小的补充,类似于:

var x = "100,007"
x.replace(",", ".")
x.replace
x = String(parseFloat(x).toFixed(2));
x.replace(".", ",")
return x
=> 100,01

但是,此代码将替换第一次出现的“,”,我想在其中捕获最后一个。任何帮助,将不胜感激。


您可以使用正则表达式来做到这一点:

x = x.replace(/,([^,]*)$/, ".$1");

该正则表达式匹配一个逗号,后跟不包含逗号的任意数量的文本。替换字符串只是一个句点,后面跟着原来的最后一个逗号后面的内容。字符串中其前面的其他逗号不会受到影响。

现在,如果您确实要转换“欧洲风格”格式的数字(由于缺乏更好的术语),您还需要担心“。” “美国风格”数字中带有逗号的位置的字符。我想你可能只是想摆脱它们:

x = x.replace(/\./g, '');

当你在字符串上使用“.replace()”函数时,你应该明白它returns修改后的字符串。它不会修改original然而,字符串,所以这样的语句:

x.replace(/something/, "something else");

对“x”的值没有影响。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript正则表达式:用逗号替换最后一个点 的相关文章

随机推荐