2013-03-03 51 views
0

繼string.replace的Python文檔後,我試圖替換一個字符串,例如「843845ab38」。我怎樣才能做一個string.replace(舊的,新的)只取代第一個巧合?String.replace()Python刪除第一個巧合

例如:

a="843845ab38" 
a.replace("8","") 
print a 

,我正在尋找的解決方案是 「43845ab38」,一個空格替換第一8。

+5

這是覆蓋的文件中。張貼之前請仔細閱讀。 http://docs.python.org/2/library/string.html#string.replace – 2013-03-03 21:28:32

回答

11

str.replace()需要第三個參數,稱爲計數:

a.replace("8", "", 1) 

通過1傳遞爲計數只有'8'第一一次出現被替換:

>>> a = "843845ab38" 
>>> a.replace("8", "", 1) 
'43845ab38' 
-1

你不必使用替換功能。 只是 一個[1:]就足夠 但是如果您要更換所有「8」 S ,那麼你可能需要使用替代

+0

他怎麼知道前8位在位置0? – Hyperboreus 2013-03-03 21:39:38

+0

我想user1350772說了這樣的話。「我找的解決方案是」43845ab38「,用空格替換前8個。」 – LonelySoul 2013-03-04 03:45:30

+0

是的,數字8的第一次出現。這並不意味着它發生在位置0 ... – Hyperboreus 2013-03-04 03:50:56