我需要更改字符串中的數字,如「Higher id:38」。用分割方法替換字符串元素
我可以用string.split(" ")[2]
得到「38」,你知道是否有一種簡單的方法來改變這個值? 我試過comment.split(" ")[2] = "55"
但它沒有奏效。
我是否受限於通過手動運行字符串來完成修改?
我需要更改字符串中的數字,如「Higher id:38」。用分割方法替換字符串元素
我可以用string.split(" ")[2]
得到「38」,你知道是否有一種簡單的方法來改變這個值? 我試過comment.split(" ")[2] = "55"
但它沒有奏效。
我是否受限於通過手動運行字符串來完成修改?
字符串是不可變的,因此您不能修改字符串。你必須做一個新的:
>>> mystr = "Higher id: 38"
>>> mylist = mystr.split(' ')
>>> mylist[-1] = "55" # t[-1] accesses the last element in the list
>>> print ' '.join(mylist)
Higher id: 55
如果你有信心,38只在字符串中出現一次,你可以使用replace()
。請記住,它返回替換字符串,而實際上並沒有替換字符串到位:
>>> mystr = "Higher id: 38"
>>> mynewstr = mystr.replace('38', '55')
>>> print mynewstr
Higher id: 55
或者甚至正則表達式可用於:
>>> import re
>>> print re.sub(r'(\d.*?)$', '55', mystr)
Higher id: 55
它可以是任何數字,所以你的第一個解決方案是我需要的,謝謝! – Teodoro