【发布时间】:2014-11-20 09:29:06
【问题描述】:
我需要从标签<TYPE>EX 和</TEXT> 和<TYPE>XML 和</TEXT> 之间的文本中删除所有部分。我正在考虑使用正则表达式如下:
re.sub(r"(?is)<TYPE>EX[^>]*>(.*?)</TEXT>",'',text)
和
re.sub(r"(?is)<TYPE>XML[^>]*>(.*?)</TEXT>",'',text)
但我继续阅读 StackOverflow,如果 BeautifulSoup 可以完成这项工作,则不要使用 regex。如何使用 BeautifulSoup 删除文本中这些标签之间的内容?我不认为这是正确的:
soup = BeautifulSoup(text.lower())
[s.extract() for s in soup('TYPE')]
我必须指定<TYPE>EX 和<TYPE>XML。在这两种情况下,结束标签实际上都是</TEXT>。可以在here 找到一个示例 .txt 文件。应该坚持使用正则表达式吗?
【问题讨论】:
标签: python parsing beautifulsoup