从列表Python中删除后缀

时间:2014-11-17 15:21:41

标签: python regex

我有一个包列表,想要从特定的字符组合中删除后缀。 我应该使用正则表达式还是其他mehotd如替换?所有套餐'结局是不同的,因为这些是版本,所以我不知道使用和如何使用。我想我应该清除字符串中-0:的剩余字符。 列表如下:

... 'znc-devel-0:1.4-1.el6.i686', 'znc-devel2-0:1.4-1.el6.x86_64' ...

我想要的是:

...'znc-devel', 'znc-devel2'...

我该怎么办?

2 个答案:

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