我有产品名称,我必须找到型号。例如
KIPOR KDE38SS3 DIESEL 400V AGGREGAATTI # Result --> KDE38SS3
KIPOR KDE28SS3 DIESEL 400V AGGREGAATTI # Result --> KDE28SS3
KIPOR KDE19STA3 19 KW GENERAATTORI 400V # Result --> KDE19STA3
KRÄNZLE C895-1 KUUMAVESIPESURI KELALLA # Result --> C895-1
KRÄNZLE 1165-1 KUUMAVESIPESURI KELALLA # Result --> 1165-1
NILFISK MH 4M-200/960 FA KUUMAVESIPESURI # Result --> MH 4M-200/960 FA
WALLIUS LMP-452i MIG HITSAUSKONE # Result --> LMP-452i
KRÄNZLE C15/150 KUUMAVESIPESURI KELALLA # Result --> C15/150
我目前的代码很简单并且在某些情况下有效,但我希望得到一种有效的方法。
for i in range (10):
modelnum = re.findall(r'\w+\d+\w+', productnames[i])
print(modelnum)
结果:
['KDE38SS3', '400V']
['KDE28SS3', '400V']
['KDE19STA3Â', '400V']
['C895']
['1165']
['200', '960']
['452i']
['C15', '150']
有没有办法我只能解析模型号。因为在结果中我也得到400V,这不是型号没有。还有一个型号没有。被打破了两个元素。
答案 0 :(得分:1)
如果您不介意使用捕获组,并且型号始终是该行中的第一个匹配项,那么您可以执行以下操作:
for i in range (10):
modelnum = re.findall(r'^.*?(\w+\d+\w+)', productnames[i])
print(modelnum)