2017-08-11 4 views
-3

Das kann wie eine einfache Frage aussehen, aber nicht in meiner Situation.Wie lösche Zeichenfolge aus einer Zeichenfolge in Python?

Ich habe eine Liste

list0 = ['amigohello','amigobye'] 

Und ich will "amigo" aus, es löschen. Wenn ich versuche:

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

Es gibt mir weiter:

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

Ich habe versucht:

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

auch:

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

Und es gibt mir:

hell 
bye 

Die seltsam ist, dass alle in diesem Ausgang doesnt löschen 'o', wenn ich ändern 'amigohello' auf 'amigohoeollo'

Und natürlich habe ich versucht, mit x.strip ('amigo') [0 ]

Was ich gerade tun möchte, ist genau auf Zeichenfolge löschen alles, was "amigo" ist, nicht amigo oder ami.go., nur wenn ich Amigo ohne das Problem [] oder eine Lösung für das [] Problem gefunden. Vielen Dank.

+0

'.split()' auf einem Begrenzungszeichen basiert. Dies ist normalerweise ein Leerzeichen. Also, wenn Sie "amigohello" .split ('g') 'würden Sie' ["ami", "ohello"] ' – Mangohero1

Antwort

3

sollten Sie str.replace verwenden genaue Erscheinungen des Wortes amigo zu ersetzen:

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

'hello' 
'bye' 
0

Es gibt eine replace Verfahren, bei dem man das unerwünschte Wort für eine leere Zeichenfolge ersetzen kann.

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