我們知道python里面字符串是不可原處直接修改的,為了是原來的字符串修改過來,我們有一下方法:
1.分片和合并
>>> a='abcde'
>>> b='fghij'
>>> c=a[1:3]+b[2:5]+' end'
>>> c
'bchij end'
>>>
2.replace()
>>> a='aaabbbcccddd'
>>> a.replace ('aaa','xxx')
'xxxbbbcccddd'
>>>
3.結合find()和分片
>>> a='aaaxbbbcccxddd'
>>> where = a.find ('x')
>>> where
3
>>> a[:where]+'ttttt'+a[where:]
'aaatttttxbbbcccxddd'
>>>
上面的三種方法,雖然都修改了源字符串,其實它們沒有直接在原處修改,只是重新創建一個新的字符串對象
4.使用可修改的列表
可能你需要修改超長文本多個地方,這時候上面的方法性能不好,所以需要轉換為可以修改的對象-列表
>>> a='aaaxbbbcccxddd'
>>> b=list(a)
>>> b
['a', 'a', 'a', 'x', 'b', 'b', 'b', 'c', 'c', 'c', 'x', 'd', 'd', 'd']
>>> b[2]='x'
>>> b[7]='x'
>>> b
['a', 'a', 'x', 'x', 'b', 'b', 'b', 'x', 'c', 'c', 'x', 'd', 'd', 'd']
>>> a=''.join (b)
>>> a
'aaxxbbbxccxddd'
>>>