我需要更改字符串中的数字,例如“Higher id: 38”。
我可以得到“38” string.split(" ")[2]
,你知道是否有一种简单的方法来改变这个值?我试过comment.split(" ")[2] = "55"
了,但没有用。
我是否必须通过手动运行字符串来进行修改?
我需要更改字符串中的数字,例如“Higher id: 38”。
我可以得到“38” string.split(" ")[2]
,你知道是否有一种简单的方法来改变这个值?我试过comment.split(" ")[2] = "55"
了,但没有用。
我是否必须通过手动运行字符串来进行修改?
>>> "Higher id: 38".replace('38', '55')
'Higher id: 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