我正在使用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位数。)
答案 0 :(得分:3)
这完全是你要求的:
import re
re.sub('<a href="/name/.{9}', '', string)
替换字符串和另外9个字符。
re.sub('<a href="/name/[^>]*>', '', string)
也可以,而不依赖于许多角色。
但是当然最好使用html解析而不是尝试使用字符串操作来清理html。例如,BeautifulSoup或lxml,htmlparser ...选择一个。
答案 1 :(得分:1)
如果你想保留正则表达式,你可以这样做:
string.replace('<a href="/name/','')[12:]
或者您可以使用正则表达式替换:
import re
re.sub(r'<a href="/name/nm[\d]+/">', '', string)