2016-06-22 106 views
0

我想從python中的字符串中刪除匹配的子字符串。從字符串中刪除特定的匹配子字符串python

這裏是我到目前爲止已經試過:

abc= "20160622125255102D87Z2" 

if "Z2" in abc: 
    abc.rstrip("Z2") 
    print(abc) 

但是,這是行不通的。請幫助

+0

使用[ 'string.replace'](https://docs.python.org/2.6/library/string.html#string.replace),'abc = abc.replace(「Z2」,'')' – SparkAndShine

回答

1

rstrip()返回一個新字符串;它不會修改現有的字符串。

你不得不重新分配農行包含新的字符串:

abc = abc.rstrip("Z2") 
+0

謝謝! Gotcha – user2829222

0

您可以使用正則表達式。這將從最後刪除Z2以及它在字符串中某處的情況。

import re 
abc= "20160622125255102D87Z2" 
abc = re.sub('Z2', '', abc) 
print(abc) 
+0

謝謝你,明白了! – user2829222

+1

沒有解釋的轉儲代碼對提問者或未來的讀者都沒有幫助。 –

1

這是因爲rstrip返回一個新的字符串。嘗試

abc = abc.rstrip("Z2") 

另外,如果你想刪除的子可以在字符串中的任何地方出現(而不是處於永遠結束),你可能反而要使用

abc.replace("Z2","")

+0

對於我的情況,子字符串出現在最後,所以我使用了rstrip。謝謝 – user2829222

相關問題