使用正则表达式模式替换将美分转换为美元

时间:2014-03-19 22:28:23

标签: regex pattern-matching

对于正则表达式来说相当新,并且在这种情况下我将价格存储在美分中,但需要使用等值的美元进行搜索。我试图编写一个模式替换器,将美分兑换成美元(基本上除以100)

例如:

2349 -> 23.49
18   -> .18

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

正则表达式不是一个很好的工具。使用您选择的语言内置的数学将最终减少疼痛和咬牙切齿。

修改

如果您确实尝试匹配,则必须处理需要用零填充的单个数字值。如果您不必担心,您可以将美分与:

匹配
(\d*)(\d\d)

然后用\ 1. \ 2

替换

答案 1 :(得分:0)

应该有更简单的方法来做到这一点。

<强>正则表达式:

\ B(?\ d *?)(?\ d {1,2})\ B'/ P>

第一组是$,第二组是美分。

替换RegEx:

$ {美元} $ {百分之}

这将搜索字符串中的任何数字(任意长度)并将其拆分为$和美分。

<强>说明:

\ b:单词边界

\ d:数字

*? :懒惰选择(尽可能少的匹配)

{1,2}:匹配一个或两个字符。在懒惰之前会填充这个*?选择

():分组