我的价格类似于:
$ 1.99
2,99 €
我如何提取货币符号?它应该是空格+符号'或者'符号+空格'。这是我目前所拥有的,但它并不适用于第二种情况:
s='2,99 €'
>>> re.findall('\s\w',s)
提取货币符号的最佳方法是什么?
答案 0 :(得分:1)
我知道这个人没有使用re
,但它可能会有所帮助。拆分字符串,然后检查它是否有符号:
s = '2,99 €'
for i in s.split(' '):
if i == '€':
# That's my currency!
答案 1 :(得分:0)
如果你知道它会在开始或结束时再检查一下吗?
currency_code = None
currency_codes = ("$", "€", )
if len(s) > 0:
if s[0] in currency_codes:
currency_code = s[0]
elif s[-1] in currency_codes:
currency_code = s[-1]
你当然可以用正则表达式做到这一点,但这似乎有点矫枉过正?
答案 2 :(得分:0)
它非常非常贫穷但是......
import string
filter = string.digits + ' ,.'
currency = [ch for ch in s if ch not in filter][0]