2

需要帮助来提取字符串开头的美元金额。

例子

字符串:$50,000.00 NAMED INSURED FOR $100K/$300K LIMITS
输出:50,000

这是我尝试过的\$\d.*?000\.00,但我相信有更好的方法。

4

3 回答 3

2
^\$?([\d,\.]+)\b

或者类似的东西。分解:

^            # anchor to start of line
\$?          # look for dollar sign (but optional)
(            # begin capture group
  [\d,\.]+   # match 1 or more of the following: `0-9`, `,` or `.`
)            # end capture group
\b           # word boundary

上面的例子可以在这里找到:http ://regexr.com?372t4

注意:如果您希望将其转换为语言中的双精度/浮点值,您将需要一个忽略逗号的解析器或执行一些简单的字符串操作来删除它们。

于 2013-11-06T12:46:17.157 回答
1

试试这个正则表达式:

\$(\S+)

这会给你50,000.00- 确切的金额。

找到$符号,然后匹配所有非空白字符。

于 2013-11-06T12:47:55.353 回答
0

尝试:

^\$(\d{1,3}(?=,\d{3})*.\d{2})
于 2013-11-06T12:50:04.117 回答