Regex删除除最后出现的单个字符以外的所有字符

Regex删除除最后出现的单个字符以外的所有字符,regex,Regex,我们对工资输入的清理将数字(0-9)和点数(.)以外的所有字符替换为空白字符串 [^0-9.] 这导致像“63000.00英镑”这样的字符串变为“63000.00英镑”,可以很容易地转换为浮点数。现在,我想对用户使用点作为千位分隔符和十进制分隔符(例如“63.000.00”)的情况进行清理。如何编写正则表达式来删除字符串中除最后一个点字符以外的所有字符 您可以使用此rgex进行更换: \.(?![^.]+$)|[^0-9.] 替换为空字符串。regex是一个错误的国际化数字工具。您是否总是保

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

[^0-9.]


这导致像“63000.00英镑”这样的字符串变为“63000.00英镑”,可以很容易地转换为浮点数。现在,我想对用户使用点作为千位分隔符和十进制分隔符(例如“63.000.00”)的情况进行清理。如何编写正则表达式来删除字符串中除最后一个点字符以外的所有字符

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

\.(?![^.]+$)|[^0-9.]


替换为空字符串。

regex是一个错误的国际化数字工具。您是否总是保证小数点后有两位数字?不,用户输入各种有趣的东西。但是如果他们把小数点放在2位,我相对有信心,除去所有小数点,只保留最后一位,就能达到预期的效果。我可以向你保证,他们在前端得到的计算结果将非常清楚地表明数字是如何被解释的。@ZZZBOV真的有一个国家合法地使用小数点作为千位分隔符和小数点分隔符吗?我将其视为一个打字错误处理功能,而不是国际化功能。@MartinJoiner。