Python - 删除数组中链接的一部分

时间:2015-01-23 12:04:25

标签: python string replace hyperlink

我有一个数组中的链接列表,例如

results = [link1/1254245,
           'q%(random part)cache:link2/1254245& (random part) Dclnk',
           'link3/1254245]

link = http://www.whatever.com

我想要用“q%3(random part)cache”和“&(random part)Dclnk替换”,以便"清理" link2是" cut"在另一个之间离开并且#34;清洁"链接。随机部分总是在内容和长度上变化。 q%3 :& Dclnk保持不变。

我该怎么做?到目前为止,我无法找到答案。

1 个答案:

答案 0 :(得分:0)

您可以通过re.sub和列表理解来实现这一目标。

>>> l = ['link1/1254245', 'q%(random part)cache:link2/1254245& (random part) Dclnk', 'link3/1254245']
>>> [re.sub(r'q%[^(]*\([^()]*\)cache:|&\s*\([^()]*\)\s*Dclnk', r'', i) for i in l]
['link1/1254245', 'link2/1254245', 'link3/1254245']

[^()]*匹配任何字符,但不匹配()零次或多次。指定|更改运算符以使用多种模式。