【发布时间】:2022-01-26 03:29:25
【问题描述】:
我有一些以前从网站上抓取的用户评论,我正在尝试清理文本以进行一些文本分析。我想删除文本中有几个 a href 标记。例如,查看段落中包含的部分文本:
'We had a <a href="/redir?url=http%3A%2F%2Frestaurants.com&amp;s=8b83bf0ff8b716aae84527dc95577a310f201b166dcca25c8ca3824b15703869" target="_blank" rel="nofollow">restaurants.com</a> $25 gift certificate, so we visited this restaurant.'
我想从字符串中删除这部分:
<a href="/redir?url=http%3A%2F%2Frestaurants.com&amp;s=8b83bf0ff8b716aae84527dc95577a310f201b166dcca25c8ca3824b15703869" target="_blank" rel="nofollow">restaurants.com</a>
我不是正则表达式方面的专家,所以到目前为止我能做的最好的事情是:
import re
re.sub(r'<a href\S+', '', mytext)
但这只会删除我想要摆脱的部分内容,如下所示:
print(mytext)
'We had a target="_blank" rel="nofollow">restaurants.com</a> $25 gift certificate, so we visited this restaurant.'
我搜索了很多解决方案,但只能找到一个 javascript 和几篇警告不要使用正则表达式解析 html 的帖子,我想这不适用于我正在处理字符串的情况。我想如果我阅读更多关于使用正则表达式的信息,我可以完成这项工作,但我正在寻找一个快速的解决方案。非常感谢任何帮助。
【问题讨论】:
-
文本中真的有
&gt;而不是>吗?这很奇怪...想知道为什么会逃脱,而不是<。 -
@David784 是的,没错。其他人从网站上抓取了内容,所以我不知道为什么这些字符会出现在那里。
标签: python html regex string href