从 Python 中的字符串中删除 HTML 标记
在本指南中,我们将学习并应用一些方法来从字符串中删除 HTML 标记。我们将使用正则表达式 BeautifulSoup
和 XML 元素树。
因为 HTML 标签总是包含符号 <>
。我们将导入内置的 re
模块(正则表达式)并使用 compile()
方法在输入字符串中搜索定义的模式。
在这里,模式 <.*?>
表示标签 <>
内的零个或多个字符,并且匹配尽可能少。
sub()
方法用于将出现的字符串替换为另一个字符串。在这里,它将用空字符串替换找到的匹配项。
示例代码:
#Python 3.x
import re
string='<h1>Delftstack</h1>'
print('String before cleaning:', string)
to_clean = re.compile('<.*?>')
cleantext = re.sub(to_clean, '', string)
print('String after cleaning:', cleantext)
输出:
#Python 3.x
String before cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
BeautifulSoup
是一个 Python 库,用于从 HTML 和 XML 中获取数据。它使用解析器来解析 HTML 和 XML;推荐一个是 lxml
。
我们需要在继续之前安装两者,使用以下命令:
#Python 3.x
pip install beautifulsoup4
#Python 3.x
pip install lxml
我们导入了 BeautifulSoup
模块并在以下代码中解析了给定的 HTML 字符串。我们使用 text
属性从 HTML 访问文本。
示例代码:
#Python 3.x
from bs4 import BeautifulSoup
string='<h1>Delftstack</h1>'
print('String after cleaning:', string)
cleantext = BeautifulSoup(string, "lxml").text
print('String after cleaning:', cleantext)
输出:
#Python 3.x
String after cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
ElementTree 是一个通过 XML 解析和导航的库。fromstring()
方法将 XML 直接从字符串解析为元素,该元素是解析树的根元素。
itertext()
生成一个文本迭代器,它按文档顺序循环遍历该元素及其所有子元素,返回所有内部文本。通过合并由字符串分隔符分隔的可迭代(输入字符串)的所有组件(内部文本),join()
方法返回一个没有 HTML 标记的字符串。
示例代码:
#Python 3.x
import xml.etree.ElementTree as ET
string = '<h1>Delftstack</h1>'
print('String before cleaning:', string)
tree = ET.fromstring(string)
print('String after cleaning:',''.join(tree.itertext()))
输出:
#Python 3.x
String before cleaning: <h1>Delftstack</h1>
String after cleaning: Delftstack
相关文章
Django 中的 Slug
发布时间:2023/05/04 浏览次数:173 分类:Python
-
本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。
在 Django 中按降序过滤查询集中的项目
发布时间:2023/05/04 浏览次数:157 分类:Python
-
在这个讲解中,学习如何借助 Django 中的 order_by() 方法按降序过滤出查询集中的项目。
Django ALLOWED_HOSTS 介绍
发布时间:2023/05/04 浏览次数:181 分类:Python
-
本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。
Django 中的 Select_related 方法
发布时间:2023/05/04 浏览次数:129 分类:Python
-
本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。
使用 Post 请求将数据发送到 Django 服务器
发布时间:2023/05/04 浏览次数:159 分类:Python
-
在这篇关于Django的讲解中,我们简要介绍了post和get请求以及如何在Django中用post实现CSRF token。
Django 返回 JSON
发布时间:2023/05/04 浏览次数:106 分类:Python
-
在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。
在 Django 中创建对象
发布时间:2023/05/04 浏览次数:59 分类:Python
-
本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。
在 Django 中为多项选择创建字段
发布时间:2023/05/04 浏览次数:75 分类:Python
-
在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。