gpt4 book ai didi

python - 如何找到字符串中的货币值?

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:54 26 4
gpt4 key购买 nike

我正在编写一个小工具来从字符串(通常是推文)中提取一堆值。

该字符串可以包含单词和数字以及以货币符号(£、$、€ 等)为前缀的金额和一些主题标签 (#foo #bar)。我在 appEngine 上运行并使用 tweepy 引入推文。

我必须找到值的当前代码如下:

tagex = re.compile(r'#.*')
curex = re.compile(ur'[£].*')
for x in api.user_timeline(since_id = t.lastimport):
tags = re.findall(tagex, x.text)
amount = re.findall(curex, x.text)[0]
logging.info("Text: " + x.text)
logging.info("Tags: " + str(tags))
logging.info("Amount: " + amount)

例如,x.text 是“Taxi London £6.50 #projectfoo #clientmeeting”

tagex 发现主题标签很好,但我无法让 curex 提取当前我得到的数量:金额:6.50 英镑 #projectfoo #clientmeeting。

我还需要分离货币符号以获得 float ,但稍后应该会非常简单。

最佳答案

>>> re.search(ur'([£$€])(\d+(?:\.\d{2})?)', s).groups()
(u'\xa3', u'6.50')
  • [£$€] 匹配一个货币符号
  • \d+(?:\.\d{2}) 匹配一个或多个数字后跟一个可选的小数点后跟正好两个数字
  • () 分别捕获符号和金额

你的正则表达式的问题是 .* 匹配任何东西并且是贪婪的,所以在正则表达式的末尾它匹配后面的所有内容。

关于python - 如何找到字符串中的货币值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4862827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com