我试图用相同数量的'*'替换字符串中的给定单词,然后打印该新字符串。但这不起作用
def censor(text , word):
l = len(word)
k = " " + str(word) + " "
if k in text:
text.replace(k , l*'*')
return text
print censor('this word duck and this word duck is censored', 'duck')
答案 0 :(得分:4)
字符串是不可变的。这意味着它们的方法不会更改对象。如果有的话,它们将返回一个新对象。 str.replace就是这种情况。 text.replace
返回修改后的字符串,但您不保留它,并且text
本身未修改。您需要这样做:
text = text.replace(k , l*'*')
我建议阅读官方的Python教程。