正则表达式删除除最后一次出现的单个字符之外的所有字符

Mar*_*ner 2 regex

我们对工资输入的清理将除数字 (0-9) 和点 (.) 以外的所有字符替换为空字符串。

[^0-9.]

这导致像“£63,000.00”这样的字符串变成“63000.00”,它可以很容易地转换为浮点数。现在我想清除用户使用点作为千位分隔符和小数分隔符(例如“63.000.00”)的情况。我将如何编写正则表达式以删除字符串中除最后一个点字符之外的所有字符?

anu*_*ava 5

您可以使用此 rgex 进行替换:

\.(?![^.]+$)|[^0-9.]
Run Code Online (Sandbox Code Playgroud)

正则表达式演示

替换为空字符串。