2013-01-07 7 views
21

私はそれで二つの「0」(文字列)を持つ文字列を持っていると私はインデックス4特定のインデックスで文字を削除する - のpython

で唯一の「0」(文字列)を削除したい私は、呼び出ししようとしています。置き換えるが明らかにすべての "0"を削除し、私は私のために位置4で文字を削除する関数を見つけることができません。

誰かが私にヒントを持っていますか?削除したい文字列マイナスインデックスを再構築

答えて

35

使用スライシング、:追記として

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

これは私が使用したもので、完全に機能しました! – tgunn

12

replaceはすべてゼロを移動する必要はありません。

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

アウト:

'asdasd0'

+3

インデックス「7」のみで「0」を置き換えたい場合はどうすればよいですか? –

1

スライス作品(及び好ましいアプローチである)が、より多くの操作が必要な場合だけ、代替あなただけの最初count 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]) 
関連する問題