python string.replace()一个字符串+ 12个字符后面

时间:2013-07-13 20:13:45

标签: python string replace

我正在使用python从IMDb中删除一些信息,我希望用空白替换给定的文本+ 12个字符。这可能吗?这是一个例子:

我有字符串

'<a href="/name/nm2142796/">Santino Rice</a> tells Roxxxy Andrews that she was "like Chewbaca in drag."'

并希望将'<a href="/name/nm2142796/">'替换为'',但有没有办法可以执行以下操作:

string.replace('<a href="/name/'+12,'')

它出现了很多,但是nm#######总是不同的(尽管它在nm之后总是7位数。)

2 个答案:

答案 0 :(得分:3)

这完全是你要求的:

import re
re.sub('<a href="/name/.{9}', '', string)

替换字符串和另外9个字符。

re.sub('<a href="/name/[^>]*>',  '', string)

也可以,而不依赖于许多角色。

但是当然最好使用html解析而不是尝试使用字符串操作来清理html。例如,BeautifulSouplxmlhtmlparser ...选择一个。

答案 1 :(得分:1)

如果你想保留正则表达式,你可以这样做:

string.replace('<a href="/name/','')[12:]

或者您可以使用正则表达式替换:

import re
re.sub(r'<a href="/name/nm[\d]+/">', '', string)