在字符串中更改2字节
我想在一个字符串中改变两个字节,像这样:
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
假设我想把 'RS'
替换成 11,我知道怎么用一个字节来做,比如用 [:],但是如果是要在字符串中间替换两个或更多字节呢?
谢谢!
3 个回答
0
我觉得这是个绕口的问题,看看“怎么用一个字节来实现”:
>>> st="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
>>> st="ABCDEFGHIJKLMNOPQRSTUVWXYZ".replace("R","1").replace("S","1")
>>> print st
ABCDEFGHIJKLMNOPQ11TUVWXYZ
1
我会使用 string.replace() 方法:
>>> import string
>>> az = string.lowercase
>>> az = az.replace('rs', '11')
>>> az
'abcdefghijklmnopq11tuvwxyz'
4
字符串是不可改变的,也就是说你不能直接修改它们。你需要从旧字符串的部分内容中创建一个新的字符串:
>>> az= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> az= az[:17]+'11'+az[19:]
>>> az
'ABCDEFGHIJKLMNOPQ11TUVWXYZ'
不过,根据你要做的事情,可能有比依赖固定位置更合适的处理方法,比如:
>>> 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.replace('RS', '11', 1)
'ABCDEFGHIJKLMNOPQ11TUVWXYZ'