我需要更改字符串中的数字,例如“Higher id:38”。
我可以使用string.split(" ")[2]
获得“38”,您知道是否有一种简单的方法可以更改此值?
我试过comment.split(" ")[2] = "55"
,但没有用。
我是否限制通过手动操作字符串来进行修改?
答案 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