用split方法替换string元素

时间:2013-07-16 11:45:28

标签: python

我需要更改字符串中的数字,例如“Higher id:38”。

我可以使用string.split(" ")[2]获得“38”,您知道是否有一种简单的方法可以更改此值? 我试过comment.split(" ")[2] = "55",但没有用。

我是否限制通过手动操作字符串来进行修改?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

字符串是不可变的,因此您无法在适当的位置修改字符串。你必须做一个新的:

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