python replace函数替换无效问题

str = "hello,china!"
str.replace("hell","well")
print(str)

写代码时发现这样替换之后并没有替换成功。

原因:

在Python中字符串是是不可变对象。

所以字符串使用replace需要重新赋值,生成一个新的对象。

之前没有重新引用,导致该变量 指向的是 以前的对象,实则已经发生变化,只是没有重新引用而已。

所以要想打印出替换后的字符串需要重新赋值,如下:

str = "hello,china!"
str = str.replace("hell","well")
print(str)

这样就可以替换成功啦!!

原文地址:https://www.cnblogs.com/qilin20/p/12207901.html

时间: 2024-07-29 14:40:23

python replace函数替换无效问题的相关文章

JSTL fn:replace()函数替换 换行符

转自:http://blog.163.com/chenjie_8392/blog/static/439339842010513128139/ 近日在使用textarea时,输入了回车,为了将textarea的多行文本内容作为一行显示,需要采用fn:replace函数进行处理. 但是测试很多次都不可以: 1. 使用 ${fn: replace(source,'\n','')},这样会提示错误,如果换成\\n不会进行替换. 2. 使用${fn:replace(source,'\\\\n','')},

MySQL replace函数替换字符串语句的用法(mysql字符串替换)

MySQL replace函数我们经常用到,下面就为您详细介绍MySQL replace函数的用法,希望对您学习MySQL replace函数方面能有所启迪. 最近在研究CMS,在数据转换的时候需要用到mysql的MySQL replace函数,这里简单介绍一下. 比如你要将表 tb1里面的 f1字段的abc替换为def UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 str 中所有出现

python基于函数替换的热更新原理介绍

热更新即在不重启进程或者不离开Python interpreter的情况下使得被编辑之后的python源码能够直接生效并按照预期被执行新代码.平常开发中,热更能极大提高程序开发和调试的效率,在修复线上bug中更是扮演重要的角色.但是要想实现一个理想可靠的热更模块又非常的困难. 1.基于reload reload作为python官方提供的module更新方式,有一定作用,但是很大程度上并不能满足热更的需求. 先来看一下下面的问题: >>> import sys, math >>

javascript中通过replace函数搜索和替换指定字符串

javascript中我们可以通过replace函数替换部分字符串为指定字符串,本文展示了replace的详细用法,并且通过范例演示了如何进行部分替换.完整替换和不区分大小写替换. javascript中我们可以通过replace函数替换部分字符串为指定字符串.下面是replace函数的基本语法: str_var.replace("search_string", "replace_string") 下面看一个简单的范例: <script type="

MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法

Ms - sql 数据库批量替换字符串 MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法 update ContentInfo set spcContent=replace(cast(spcContent as varchar(max)),'http://www.buy5188.com/','http://www.epowerchina.com.cn/')

db2 replace 函数和替换回车换行

values char(replace('ABCD','A','OPMN'))   返回的结果就是OPMNBCD update emp set name=replace(name,'D','W') where empno=70 这个函数的运用关键之处是区分大小写,字符串之间不能有任何的空格 否则是不能替换的. update test111 set a=replace[object Object](a,CHR(13)||CHR(10),'1') 这是替换语句,CHR(13)||CHR(10)为回车

Sqlserver 报错“参数数据类型 ntext/text 对于 replace 函数的参数 1 无效”的解决方案及原理分析扩展

原因:在数据查询中replace函数无法对表table中text/ntext类型的字段colname进行了字符串操作. 解决方法:将text当作varchar(实际内容长度低于8000字节时)或把ntext当作nvarchar(实际内容长度低于4000字节时). 但是当text字段内容长度超过8000或ntext字段内容长度超过4000字节时多出的字节会被截断而忽略掉. 这时我们可以使用max类型来解决这个问题. 原报错代码: 1 update tablename set colname=rep

Python replace()方法

描述 Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次. 语法 replace()方法语法: str.replace(old, new[, max]) 参数 old -- 将被替换的子字符串. new -- 新字符串,用于替换old子字符串. max -- 可选字符串, 替换不超过 max 次 返回值 返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个

Python常用函数整理

主要内容: 字符串函数.集合函数.列表函数和字典函数. Python常用函数 字符串函数 方法 说明 capitalize() 返回首字母的大写副本 find(string) 返回字符串中首次出现参数string的索引,如果字符串中没有参数string则返回-1 find(s,beg) 返回字符串中索引beg之后首次出现参数s的索引,如果字符串中索引beg之后没有参数s则返回-1 find(s,beg,end) 返回字符串中索引beg与end之间首次出现参数s的索引,如果字符串中索引beg和en