python replace函数替换无效问题
str = "hello,china!" str.replace("hell","well") print(str)
hello,China!
进程已结束,推出代码0
写代码时发现这样替换之后并没有替换成功。
原因:
在Python中字符串是是不可变对象。
所以字符串使用replace需要重新赋值,生成一个新的对象。
之前没有重新引用,导致该变量 指向的是 以前的对象,实则已经发生变化,只是没有重新引用而已。
所以要想打印出替换后的字符串需要重新赋值,如下:
str = "hello,china!" str = str.replace("hell","well") print(str)
hello,china!
进程已结束,推出代码0
这样就可以替换成功啦!!