2017-08-11 270 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]