在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符。

 因此改变一个字符串的元素需要新建一个新的字符串。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

常见的修改方法有以下4种

方法1:将字符串转换成列表后修改值,然后用join组成新字符串

 

1 2 3 4 5 6 7 8 9 10 11 >>> s = 'abcdef'         #原字符串 >>> s1 = list (s)         #将字符串转换为列表 >>> s1             [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' ] #列表的每一个元素为一个字符 >>> s1[ 4 ] = 'E'          #将列表中的第5个字符修改为E >>> s1[ 5 ] = 'F'          #将列表中的第5个字符修改为E >>> s1 [ 'a' , 'b' , 'c' , 'd' , 'E' , 'F' ] >>> s = ''.join(s1)        #用空串将列表中的所有字符重新连接为字符串 >>> s 'abcdEF'            #新字符串

方法2: 通过字符串序列切片方式

 
1 2 3 4 5 6 7 >>> s = 'Hello World' >>> s = s[: 6 ] + 'Bital'     #s前6个字符串+'Bital' >>> s 'Hello Bital' >>> s = s[: 3 ] + s[ 8 :]      #s前3个字符串+s第8位之后的字符串 >>> s 'Heltal'

方法3: 使用字符串的replace函数

 
1 2 3 4 5 6 7 >>> s = 'abcdef' >>> s = s.replace( 'a' , 'A' )    #用A替换a >>> s 'Abcdef' >>> s = s.replace( 'bcd' , '123' #用123替换bcd >>> s 'A123ef'

方法4: 通过给一个变量赋值(或者重新赋值)

 
1 2 3 4 5 6 7 8 9 >>> s = 'Hello World' >>> s2 = ' 2017'       #变量赋值 >>> s = s + s2 >>> s 'Hello World 2017' >>> s = 'Hello World' >>> s = 'Hello World 2017'  #重新赋值 >>> s 'Hello World 2017'
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄