📅  最后修改于: 2023-12-03 15:10:57.995000             🧑  作者: Mango
在处理文本数据时,有时候需要将 HTML 标签去除,只保留文本内容。这时可以使用正则表达式来实现。
使用 Python 标准库中的 re 模块,可以使用 re.sub 函数来替换 HTML 标签为普通文本。下面是一个示例程序:
import re
# 待处理的 HTML 文本
html = "<p>This is a <strong>bold</strong> statement.</p>"
# 替换 HTML 标签并输出结果
text = re.sub(r'<[^>]+>', '', html)
print(text)
输出结果为:
This is a bold statement.
在这个示例程序中,使用 re.sub 函数将 HTML 标签替换为空字符串。其中,正则表达式 <[^>]+>
匹配任意 HTML 标签。
Beautiful Soup 是 Python 中一个流行的 HTML 解析库,它可以方便地解析 HTML 文档,提取文本和标签等信息。对于需要将 HTML 标签去除的文本,可以先使用 Beautiful Soup 解析成 DOM 树,再提取其中的纯文本。
下面是一个使用 Beautiful Soup 的示例程序:
from bs4 import BeautifulSoup
# 待处理的 HTML 文本
html = "<p>This is a <strong>bold</strong> statement.</p>"
# 解析 DOM 树并提取文本
soup = BeautifulSoup(html, 'html.parser')
text = soup.get_text()
print(text)
输出结果为:
This is a bold statement.
在这个示例程序中,使用 BeautifulSoup 的 get_text 方法提取 DOM 树中的纯文本内容。
这篇文章介绍了两种方法,使用正则表达式和使用 Beautiful Soup 库,来删除 HTML 标签中的文本。在实际应用中,可以根据实际情况选择适合的方法。