在Python中,字符串是不可變類型,即無法直接修改字符串的某一位字符。
直接修改會報錯:'str' object does not support item assignment
因此改變一個字符串的元素需要新建一個新的字符串。
常見的修改方法有以下4種。
方法1:將字符串轉換成列表后修改值,然后用join組成新字符串
>>> 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: 通過字符串序列切片方式
>>> 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函數
>>> s='abcdef'
>>> s=s.replace('a','A') #用A替換a
>>> s
'Abcdef'
>>> s=s.replace('bcd','123') #用123替換bcd
>>> s
'A123ef'
方法4: 通過給一個變量賦值(或者重新賦值)
>>> s='Hello World'
>>> s2=' 2017' #變量賦值
>>> s=s+s2
>>> s
'Hello World 2017'
>>> s='Hello World'
>>> s='Hello World 2017' #重新賦值
>>> s
'Hello World 2017'