0

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

我可以得到“38” string.split(" ")[2],你知道是否有一种简单的方法来改变这个值?我试过comment.split(" ")[2] = "55"了,但没有用。

我是否必须通过手动运行字符串来进行修改?

4

2 回答 2

3
>>> "Higher id: 38".replace('38', '55')
'Higher id: 55'
>>> 
于 2013-07-16T11:46:29.087 回答
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
于 2013-07-16T11:46:38.787 回答