2009-11-15 19 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