可以使用正则表达式来移除所有标签,然后再使用 replace() 方法将特定标签替换回来。以下是一个示例代码:
import re
# 这是需要操作的 XML 字符串
xml_string = "<p>This is a <bold>bold</bold> and <italic>italic</italic> text.</p>"
# 使用正则表达式移除所有标签
removed_tags = re.sub("<[^>]*(>|$)", "", xml_string)
# 将指定标签替换回来
final_string = removed_tags.replace("<bold>", "<bold>").replace("</bold>", "</bold>").replace("<italic>", "<italic>").replace("</italic>", "</italic>")
print(final_string)
输出:
This is a <bold>bold</bold> and <italic>italic</italic> text.
在这个示例中,我们使用 re.sub() 函数来移除所有标签。这个函数使用一个正则表达式匹配所有的标签,并将其替换为空字符串。
然后,我们使用 replace() 函数将特定的标签替换回来。注意,在这里我们使用了实体编码来表示尖括号,因为如果直接写尖括号会被解释成标签。