gpt4 book ai didi

python - 在 HTML 中查找和替换字符串

转载 作者:行者123 更新时间:2023-11-28 04:18:36 32 4
gpt4 key购买 nike

从这个 HTML 代码:

<p class="description" dir="ltr">Name is a fine man. <br></p>

我正在寻找使用以下代码替换“名称”:

target = soup.find_all(text="Name")
for v in target:
v.replace_with('Id')

我想要的输出是:

<p class="description" dir="ltr">Id is a fine man. <br></p>

当我:

print target
[]

为什么找不到“名称”?

谢谢!

最佳答案

HTML 中的文本节点包含除 "Name" 之外的一些其他文本。在这种情况下,您需要放宽搜索条件以使用包含 而不是完全匹配,例如,通过使用正则表达式。然后你可以用原始文本替换匹配的文本节点,除了 "Name" 部分应该用 "Id" 替换,使用简单的 string.replace() 方法,例如:

from bs4 import BeautifulSoup
import re

html = """<p class="description" dir="ltr">Name is a fine man. <br></p>"""
soup = BeautifulSoup(html)
target = soup.find_all(text=re.compile(r'Name'))
for v in target:
v.replace_with(v.replace('Name','Id'))
print soup

输出:

<html><body><p class="description" dir="ltr">Id is a fine man. <br/></p></body></html>

关于python - 在 HTML 中查找和替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31220131/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com