我想在字符串中更改2个字节,如下所示:
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
让我们想象一下,我想用'RS'
替换为11,我知道如何用[:]这样的一个字节来做,但是在字符串的中间用2个或更多?
谢谢!
答案 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