1

我想知道是否有人可以帮助解决这个问题?我有文本文件(已经通过听写/转录包),其中包含需要以正确格式放入的金额。

原价:$1489.05 >> 应该是 $1,149.05

原价:$1489 >> 应该是 $1,489.00

原件:$32,000 >> 应该是 $32,000.00

所以换句话说 - 没有小数的金额需要添加 .00,超过 1000 的金额需要添加逗号。

一个轻微的复杂情况是,超过 10 000 的数量已经有一个逗号。

有任何想法吗?

谢谢。

4

1 回答 1

1

编辑:修改了额外的步骤以适应丢失$
编辑:修改了步骤 1 和 2 以适应偶尔,丢失的情况$

这需要使用三个正则表达式分三个步骤完成。

第1步

将正则表达式模式(^|[^$,\d])(\d*?,?\d{3}(?:[^\d]|$))与替换字符串一起使用\1$\2

这将修复丢失的美元符号。

第2步

将正则表达式模式(\$\d+)(\d{3})与替换字符串一起使用\1,\2

这将修复缺少的逗号。

第 3 步

将正则表达式模式(\$[0-9,]++)(?!\.)与替换字符串一起使用\1.00
(如果您的正则表达式引擎不支持所有格量​​词,请使用替代模式
(\$[0-9,]+)(?![0-9.,])。)

这将修复丢失的美分。

注意这些适用于TextWrangler(和其他使用 PCRE 的应用程序)。您可能需要调整替换字符串以适应其他正则表达式引擎作为某些用途$1,甚至\\1代替\1.

于 2013-01-23T20:18:02.507 回答