2013-07-16 68 views
0

我需要更改字符串中的數字,如「Higher id:38」。用分割方法替換字符串元素

我可以用string.split(" ")[2]得到「38」,你知道是否有一種簡單的方法來改變這個值? 我試過comment.split(" ")[2] = "55"但它沒有奏效。

我是否受限於通過手動運行字符串來完成修改?

回答

4

字符串是不可變的,因此您不能修改字符串。你必須做一個新的:

>>> 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 
+0

它可以是任何數字,所以你的第一個解決方案是我需要的,謝謝! – Teodoro

4
>>> "Higher id: 38".replace('38', '55') 
'Higher id: 55' 
>>> 
+0

謝謝您的回答,但Haidro的正是我需要的。 – Teodoro