我有一个NavigableString
类型的节点,我想替换内容。根据文档,它应该是这样的:
node.string = 'new string'
然而,如果我检查它不起作用:
print unicode(node) ---> prints 'old string'
node.string = 'new string'
print unicode(node) ---> should print 'new string' but prints 'old string'
任何想法?
答案 0 :(得分:2)
您需要使用replace_with()
方法来替换字符串。
从官方文档中可以看出
您无法在适当的位置编辑字符串,但可以使用replace_with()
将一个字符串替换为另一个字符串
node.string.replace_with("new string")
您可以查看here。
修改
正如您所提到的,node
是NavigableString
,您无需更改其.string
属性。你应该做 -
node = "new string"
如果节点是tag
,那么您应该更改其.string
属性。