我有一个字符串,其中有两个"0"(str),我想只删除索引4处的"0"(str)
我试过调用.replace,但显然删除了所有"0",我找不到一个函数来删除位置4的char给我.
有人暗示我吗?
Mar*_*ers 78
使用切片,重建字符串减去要删除的索引:
newstr = oldstr[:4] + oldstr[5:]
Run Code Online (Sandbox Code Playgroud)
roo*_*oot 19
作为旁注,replace
不必全部移动零.如果您只想将第一个指定删除count
为1:
'asd0asd0'.replace('0','',1)
Run Code Online (Sandbox Code Playgroud)
日期:
'asdasd0'
这是我对任何字符串s
和任何索引的通用解决方案 i
:
def remove_at(i, s):
return s[:i] + s[i+1:]
Run Code Online (Sandbox Code Playgroud)
切片有效(并且是首选方法),但如果需要更多操作,则只是一种替代方法(但无论如何转换为列表都不会受到伤害):
>>> a = '123456789'
>>> b = bytearray(a)
>>> del b[3]
>>> b
bytearray(b'12356789')
>>> str(b)
'12356789'
Run Code Online (Sandbox Code Playgroud)
另一种选择,使用列表理解和联接:
''.join([_str[i] for i in xrange(len(_str)) if i != 4])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
86406 次 |
最近记录: |