我有一个产品描述列表。例如:
items = ['avuhovi Grillikaapeli 320g','Savuhovi Kisamakkara 320g',
'Savuhovi Raivo 250g', 'AitoMaku str.garl.sal.dres.330ml', 'Rydbergs
225ml Hollandaise sauce']
我想提取重量,即 320g、320g、250ml、330ml。我知道我们可以为此使用正则表达式,但不知道如何构建正则表达式来提取它。你可以看到权重有时在描述的中间,有时用点(.)作为分隔符而不是空格。所以,我很困惑如何提取。
提前感谢您的帮助:)
最佳答案
这是一种可行的解决方案(使用 Wiktor 建议的 search
和 group
):
>>> for t in items :
... re.search(r'([0-9]+(g|ml))', t).group(1)
...
'320g'
'320g'
'250g'
'330ml'
'225ml'
确实,更好的解决方案(感谢 Wiktor)是测试是否匹配:
>>> res = []
>>> for t in items :
... m = re.search(r'(\d+(g|ml))', t)
... if m:
... res.append(m.group(1))
print res
关于python - 使用python中的正则表达式从其描述中提取项目的权重,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40016431/