我想从价格输入中删除句点和 $
符号之后的尾随零。例如,
$100 -> 100
$10.000 -> 10
$10.0100 -> 10.01
$10.1234 -> 10.1234
我有以下正则表达式,但是,它不会删除 $
或句点 .
符号:[.0]+$
。此外,它会删除所有零。
最佳答案
你可以使用
String result = s.replaceAll("^\\$|(?:(\\.[0-9]*[1-9])|\\.)0+$", "$1");
参见 regex demo .
详情
^\\$
- 字符串开头的$
字符|
- 或者(?:
- 匹配以下两种选择之一的非捕获组的开始:(\\.[0-9]*[1-9])
- 捕获组 1(稍后用$1
占位符引用):一个.
后跟 0+ 数字后跟0
以外的数字
|
- 或者\\.
- 一个点
)
- 非捕获组结束0+
- 1+ 个零$
- 字符串结尾。
关于java - 用于删除价格输入的美元符号和尾随零的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50106693/