2017-08-11 266 views
-3

这看起来像一个简单的问题,但不在我的情况。如何从Python中的字符串中删除字符串?

我有一个列表

list0 = ['amigohello','amigobye'] 

,我想从中删除的“朋友”。 如果我尝试:

for x in list0: 
    print x.split("amigo") 

它给了我旁边:

['', 'hello'] 
['', 'bye'] 

我想:

for x in list0: 
    x = str(x.split("amigo")) 
    print x.split("[''") 

另外:

for x in list0: 
    print x.strip('amigo') 

,这让我:

hell 
bye 

最奇怪的是,在这个输出犯规删除所有的“o”,如果我变“amigohello”到“amigohoeollo”

,当然我试图与x.strip(“AMIGO”)[0 ]

我只想在字符串上删除所有“amigo”,而不是amigo或ami.go.,只有当我发现amigo没有[]问题或[]问题的解决方案时。谢谢。

+0

'.split()'是基于一个分隔符。这通常是一个空白字符。所以如果你做了'amigohello'.split('g')'你会得到'[“ami”,“ohello”]' – Mangohero1

回答

3

您应该使用str.replace一词取代amigo确切出场:

for x in list0: 
    print x.replace("amigo", "") 

'hello' 
'bye' 
0

有一个replace方法,其中可以更换不想要的字为空字符串。

list0 = ['amigohello','amigobye'] 
for x in list0: 
    print(x.replace("amigo", "")) # hello, bye 
0
list0 = [item.replace('amigo','') for item in list0]