2016-06-22 78 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

相关问题