在字符串中更改2字节

0 投票
3 回答
724 浏览
提问于 2025-04-15 16:02

我想在一个字符串中改变两个字节,像这样:

"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'

撰写回答