【发布时间】:2014-01-01 22:16:47
【问题描述】:
我有以下包含一些产品数据的字典:
dictionary = {'price': [u'3\xa0590 EUR'],
'name': [u'Product name with unicode chars]}
所有值都是 unicode。如您所见,我使用列表作为字典值,因为有时我需要连接来自多个不同来源的信息。
我正在寻找一种方法,通过使用正则表达式从价格值中提取数字,而不需要不间断空格 (\xa0) 和末尾的货币 (EUR)。
在这种情况下,我希望看到以下结果:
3590
您能提出一个解决方案吗?
[解决方案]
在此处添加解决方案,因为 cmets 字段意外包装了我的代码:
我使用了 Python 的 re 模块中的 .sub() 方法,它是一个替换函数。这是给我预期结果的最终代码:
p = re.compile( '(\xa0| EUR|)')
result = p.sub( '', dictionary['price'][0])
【问题讨论】:
标签: python regex unicode-string