在价格字符串中查找货币代码

时间:2015-06-05 02:06:43

标签: python

我的价格类似于:

$ 1.99
2,99 €

我如何提取货币符号?它应该是空格+符号'或者'符号+空格'。这是我目前所拥有的,但它并不适用于第二种情况:

s='2,99 €'
>>> re.findall('\s\w',s)

提取货币符号的最佳方法是什么?

3 个答案:

答案 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]