看起来很简单,但我遇到了一个问题,想出一个很好的方法来做到这一点。这应该可以在.NET VB中使用regex.replace ...对不起,但我是Regex的新手......
我有一个包含销售收据的长字符串....我不想在某些情况下显示美元金额,所以我想在显示字符串之前用0.00替换所有金额。即
原始字符串:
订单详情: 第一项 1 @ $ 33.99 $ 33.99 第二项 100 @ $ 3.99 $ 399.00 第三项 10 @ $ 333.99 $ 3339.90 小计:33333.99 运费:10.27 税:0.00 总计:444444.26
替换后:
订单详情: 第一项 1 @ $ 0.00 $ 0.00 第二项 100 @ $ 0.00 $ 0.00 第三项 10 @ $ 0.00 $ 0.00 小计:0.00 运费:0.00 税:0.00 总计:0.00
谢谢, 托德。
答案 0 :(得分:2)
<强>正则表达式强>
\d+\.\d{2}
<强>描述强>
这将找到您的所有数字,然后只需用0.00替换
如果您想要找到$
符号的内容,则下面的正则表达式也是正确的:
^[+-]?[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2}$
这会找到3个包含,
的组,但这不是您的示例所示。
答案 1 :(得分:1)
见:
What is "The Best" U.S. Currency RegEx?
替换此表达式:[+-]?[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2}
,您将获得所需内容。
答案 2 :(得分:1)
答案 3 :(得分:0)
将此模式(\$)[\d.]+|(otal:)\s*[\d.]+
与g
选项一起使用
并替换为$1$2 0.00
Demo