📜  正则表达式删除 html 标签 python - Html (1)

📅  最后修改于: 2023-12-03 15:10:57.995000             🧑  作者: Mango

正则表达式删除 HTML 标签 Python

在处理文本数据时,有时候需要将 HTML 标签去除,只保留文本内容。这时可以使用正则表达式来实现。

方法一:使用 re.sub 函数

使用 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 库

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 标签中的文本。在实际应用中,可以根据实际情况选择适合的方法。