在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符。这篇文章主要介绍了Python中修改字符串的四种方法,需要的朋友可以参考下
在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符。
因此改变一个字符串的元素需要新建一个新的字符串。
常见的修改方法有以下4种。
方法1:将字符串转换成列表后修改值,然后用join组成新字符串
import string
s = 'abcdef' # 原字符串
s1 = list(s) # 将字符串转换为列表
s1[4] = 'E' # 将列表中的第5个字符修改为E
s1[5] = 'F' # 将列表中的第5个字符修改为E
s = ''.join(s1) # 用空串将列表中的所有字符重新连接为字符串
方法2: 通过字符串序列切片方式
import string
s = 'Hello World'
s = s[:6] + 'Bital' # s前6个字符串+'Bital'
print(s) # 输出应为:Hello Bital
s = s[:3] + s[8:] # s前3个字符串+s第8位之后的字符串
print(s) # 输出应为:Heltal
方法3: 使用字符串的replace函数
我在另外一篇博客中叙述过了,在这里不详述了
代码如下:
import string
s="qweraqwesfgzqweop"
# 将字符串全部的qwe 换为**asd**
print(s.replace("qwe","**asd**"))
# 将字符串前两个qwe 换为**asd**
print(s.replace("qwe","**asd**",2))
# 将字符串全部的qew 换为**asd** 没有则输出原字符串
print(s.replace("qew","**asd**"))
方法4: 通过给一个变量赋值(或者重新赋值)
import string
s1 = 'python '
s2 = 'test'
s1 = s1+s2 #通过给一个变量赋值
print(s1)
s1 = 'python test' #重新赋值
print(s1)