更改字符串中的2个字节

时间:2009-11-15 15:14:21

标签: python string

我想在字符串中更改2个字节,如下所示:

"ABCDEFGHIJKLMNOPQRSTUVWXYZ"

让我们想象一下,我想用'RS'替换为11,我知道如何用[:]这样的一个字节来做,但是在字符串的中间用2个或更多?

谢谢!

3 个答案:

答案 0 :(得分:4)

字符串是不可变的,你无法改变它们。你必须从旧的部分创建一个新的字符串:

>>> az= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> az= az[:17]+'11'+az[19:]
>>> az
'ABCDEFGHIJKLMNOPQ11TUVWXYZ'

尽管依赖于你正在做的事情,可能有一种比依赖固定指数更合适的处理方法,例如。

>>> 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.replace('RS', '11', 1)
'ABCDEFGHIJKLMNOPQ11TUVWXYZ'

答案 1 :(得分:1)

我会使用string.replace()

>>> import string
>>> az = string.lowercase
>>> az = az.replace('rs', '11')
>>> az
'abcdefghijklmnopq11tuvwxyz'

答案 2 :(得分:0)

我认为这是一个棘手的问题,请参阅“如何使用一个字节进行操作”

>>> st="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
>>> st="ABCDEFGHIJKLMNOPQRSTUVWXYZ".replace("R","1").replace("S","1")
>>> print st
ABCDEFGHIJKLMNOPQ11TUVWXYZ