要编辑 标签内的文本内容,但不影响其内部其他标签中的内容,可以使用以下方法:
方法一:使用正则表达式
import re
def edit_p_tag(text):
# 使用正则表达式匹配 标签
pattern = r'
(.*?)
'
# 使用 re.sub() 方法替换匹配到的内容
edited_text = re.sub(pattern, lambda match: f'{edit_string(match.group(1))}
', text)
return edited_text
def edit_string(string):
# 在这里编辑 标签内的文本内容
edited_string = string.upper()
return edited_string
# 测试
text = '
This is some text
Another paragraph
'
edited_text = edit_p_tag(text)
print(edited_text)
输出:
THIS IS SOME TEXT
ANOTHER PARAGRAPH
方法二:使用 Beautiful Soup
from bs4 import BeautifulSoup
def edit_p_tag(text):
# 使用 Beautiful Soup 解析 HTML
soup = BeautifulSoup(text, 'html.parser')
# 找到所有的 标签
p_tags = soup.find_all('p')
for p_tag in p_tags:
# 编辑
标签内的文本内容
p_tag.string = edit_string(p_tag.string)
# 返回修改后的 HTML
edited_text = str(soup)
return edited_text
def edit_string(string):
# 在这里编辑
标签内的文本内容
edited_string = string.upper()
return edited_string
# 测试
text = '
This is some text
Another paragraph
'
edited_text = edit_p_tag(text)
print(edited_text)
输出:
THIS IS SOME TEXT
ANOTHER PARAGRAPH
这些方法都可以编辑 标签内的字符串,而不影响其内部其他标签中的内容。