我有一个包列表,想要从特定的字符组合中删除后缀。
我应该使用正则表达式还是其他mehotd如替换?所有套餐'结局是不同的,因为这些是版本,所以我不知道使用和如何使用。我想我应该清除字符串中-0:
的剩余字符。
列表如下:
... 'znc-devel-0:1.4-1.el6.i686', 'znc-devel2-0:1.4-1.el6.x86_64' ...
我想要的是:
...'znc-devel', 'znc-devel2'...
我该怎么办?
答案 0 :(得分:2)
partition
on" -0"并取左边部分。
seq = ['znc-devel-0:1.4-1.el6.i686', 'znc-devel2-0:1.4-1.el6.x86_64']
print [item.partition("-0")[0] for item in seq]
结果:
['znc-devel', 'znc-devel2']
答案 1 :(得分:0)
通过re.sub
和列表理解。
>>> L = ['znc-devel-0:1.4-1.el6.i686', 'znc-devel2-0:1.4-1.el6.x86_64']
>>> import re
>>> [re.sub(r'-0:.*', r'', line) for line in L]
['znc-devel', 'znc-devel2']