使用 Python 和 Regex,如何从 html 中删除 <sup> 标签? [复制]

Posted

技术标签:

【中文标题】使用 Python 和 Regex,如何从 html 中删除 <sup> 标签? [复制]【英文标题】:Using Python and Regex,How do you remove <sup> tags from html? [duplicate] 【发布时间】:2014-08-23 09:53:14 【问题描述】:

使用 python 正则表达式,我如何删除 html 中的所有 标签?标签有时具有样式,如下所示:

<sup style="vertical-align:top;line-height:120%;font-size:7pt">(1)</sup>

我想删除更大的 html 字符串中的 sup 标签之间的所有内容。

【问题讨论】:

你的最终结果是什么? OP 必读的正则表达式操作 HTML:***.com/a/1732454/3001761 我通过将 html 转换为字符串并使用以下内容解决了我的问题:re.sub(r'+','',string of html) 【参考方案1】:

我会改用 HTML 解析器 (why)。例如,BeautifulSoupunwrap() 可以处理您的美餐

Tag.unwrap() 与 wrap() 相反。它将标签替换为 该标签内的任何内容。这对剥离标记很有用。

from bs4 import BeautifulSoup

data = """
<div>
    <sup style="vertical-align:top;line-height:120%;font-size:7pt">(1)</sup>
</div>
"""

soup = BeautifulSoup(data)
for sup in soup.find_all('sup'):
    sup.unwrap()

print soup.prettify()

打印:

<div>
(1)
</div>

【讨论】:

谢谢这更有效。我很感激。

以上是关于使用 Python 和 Regex,如何从 html 中删除 <sup> 标签? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中使用 Regex 从 HTML <a> 标签中提取 Facebook 页面 URL?

常见python正则用法实例

使用 Python 和 Regex 从 URL 获取 YouTube 视频 ID

如何剪切部分文本并用Python和RegEx替换每一行

如何使用 Regex.Replace 从字符串中删除数字?

Python Regex - 如何获取匹配的位置和值