Cum se șterge șirul dintr-un șir în Python? (Programare, Python, String, Lista, Split, Benzi)

theautistic9 a intrebat.

Aceasta poate părea o întrebare simplă, dar nu în situația mea.

Am o listă

list0 = ['amigohello','amigobye']

Și vreau să șterg „amigo” din ea.dacă încerc:

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

Îmi dă următorul:

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

Am încercat:

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

De asemenea:

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

Și îmi dă:

hell
bye

Cel mai ciudat este că în acest rezultat nu șterge toate „o” dacă schimb „amigohello” în „amigohoeollo”.

Și bineînțeles am încercat cu x.strip(‘amigo’)[0]

Ceea ce vreau eu să fac este să șterg exact pe string tot ce este „amigo”, nu a.m.i.g.o sau ami.go., doar dacă am găsit amigo fără problema [] sau o soluție la problema []. Mulțumesc.

Comentarii

  • .split() se bazează pe un delimitator. Acesta este, de obicei, un caracter de spațiu alb. Deci, dacă ați făcut "amigohello".split('g') ați obține ["ami", "ohello"] –  > Por Mangohero1.
3 răspunsuri
Moses Koledoye

Ar trebui să utilizați str.replace pentru a înlocui exact apariții ale cuvântului amigo:

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

'hello'
'bye'

Pedro von Hertwig Batista

Există un replace metodă prin care puteți înlocui cuvântul nedorit cu un șir gol.

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

theObserver
list0 = [item.replace('amigo','') for item in list0]