【发布时间】:2020-05-21 00:39:16
【问题描述】:
我正在尝试从文本中提取这些内容:
- 金额+货币格式的前缀/后缀
- 任何其他数值
货币格式可以用各种组合来表示,并且可以用于不同的货币,即usd、usd$、us$、eur等。下面的示例仅针对美元货币。
示例:
text = 'usd$4540.34, some text, usd $1234.34, $123.98, $234, $ 123, USD$1621.09, usd109, 123usd, 8888, some other text, foo, bar'
到目前为止,我有这个代码:
re.sub(r"[^(\w{1,})?\$?\d.*\.?\d*$]|[^0-9$+.,\s']", '', text, flags=re.I).strip(',')
但它正在返回这个结果:
'$4540.34,,$1234.34,$123.98,$234,$123,$1621.09,109,123,8888'
根据上面的例子,正则表达式应该返回这个预期的输出:
usd$4540.34, usd $1234.34, $123.98, $234, $ 123, USD$1621.09, usd109, 123usd, 8888
感谢是否有人可以帮助我。谢谢!
【问题讨论】:
-
嗨@Mandy8055,是的。设法调整正则表达式以包含 8888。感谢您的帮助!
-
是的,会很好