2013-01-07 48 views
21

我有一个在它有两个“0”(STR)的字符串,我想在指数4删除字符 - 蟒蛇

我已经打过电话,只除去了“0”(STR)。取代,但很明显,删除所有“0”,我找不到一个函数,将删除位置4字符为我。

任何人都有我的提示吗?

回答

35

使用切片,重建要去除串减去指数:

newstr = oldstr[:4] + oldstr[5:] 
+0

这就是我用过的,它完美的工作! – tgunn

12

的阿里纳斯,replace不必将所有零。如果你只是想删除第一个指定count以1:

'asd0asd0'.replace('0','',1) 

日期:

'asdasd0'

+3

如果你只想在索引'7'处替换'0'会怎么样? –

1

切片操作(并且是首选方法),但是如果需要的只是一个替代更多的操作(但是然后转换成列表不会伤害):

>>> a = '123456789' 
>>> b = bytearray(a) 
>>> del b[3] 
>>> b 
bytearray(b'12356789') 
>>> str(b) 
'12356789' 
3

另一种选择,使用列表理解和加入:

''.join([_str[i] for i in xrange(len(_str)) if i != 4])