2009-11-15 18 views
0

我想换2个字节的字符串是这样的:变化串2字节

"ABCDEFGHIJKLMNOPQRSTUVWXYZ" 

让我们想象一下我想通过11来代替'RS',我知道如何与像一个字节做[:],但在字符串中间有2个或更多?

谢谢!

+0

听起来像功课。你可能想先显示你的尝试。 – 2009-11-15 15:21:06

+0

嗯......你如何替换字符串中的单个字节?字符串是不可变的。 – 2009-11-15 15:27:32

回答

4

字符串是不可变的,你不能改变它们。你必须从旧的零件做出一个新的字符串:

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

虽然取决于一个你在做什么,可能是处理它不是依靠固定的指标,例如一个更合适的方式。

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

我会用string.replace()

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

我认为这是一个有趣的问题,请参见 “如何与一个字节做”:

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