gpt4 book ai didi

python - 如何删除特定 html 标签内的所有内容(以及标签本身)

转载 作者:行者123 更新时间:2023-12-01 01:47:54 25 4
gpt4 key购买 nike

假设你有这个字符串:

text = """<p>Bla bla bla.</p><p>Blo blo blo<a 
href="http://www.example.com">bli bli</a>.</p><p>blu blu<br>
<span style="font-size: x-small;"><br>
content to remove</span></p>"""

我的目标是删除 <span style="font-size: x-small;"><br>content to remove</span> 内的所有内容,以及开始和结束标记。

因此,如果属性样式为"font-size: x-small;",我只能删除span标签(及其内容) .

我的代码不起作用。这是:

import re    
pattern = re.compile(r"\<span style='font-size: x-small;'\>.*?\</span\>")
new_text = pattern.sub(lambda match: match.group(0).replace(match.group(0),'') ,text)

我宁愿选择Python本身,因为我对正则表达式一无所知(正如你所看到的......)。但如果正则表达式是可行的方法,我会采用它。

最佳答案

您可以使用find 、索引和字符串连接。

new_text = text[:text.find("<span")]+text[text.find("</span>")+7:]

text.find("</span>")+7查找第一次出现的索引,然后将 7 添加到该索引,即标签本身的长度。

有很多方法可以解决这个问题。对于任何重要的 html 解析,我建议 Beautifulsoup .

关于python - 如何删除特定 html 标签内的所有内容(以及标签本身),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51061219/

25 4 0