Mai mult
Cum pentru a șterge un caracter dintr-un string folosind Python
Există un șir de caractere, de exemplu. "EXEMPLU".
Cum pot elimina mijlocul caracter, de exemplu, " M " de la ea? Eu nu't nevoie de cod. Vreau să știu:
- Nu siruri de caractere în Python end, în orice caracter special?
- Ceea ce este o modalitate mai bună - și schimbă totul de la dreapta la stânga, începând de la mijlocul caracter SAU crearea unui nou șir și nu copierea mijloc de caracter?
414
15
În Python, siruri de caractere sunt imuabile, deci va trebui să creați un nou șir de caractere. Aveți câteva opțiuni de modul de a crea noul șir. Dacă doriți să eliminați 'M' oriunde apare:
Dacă doriți pentru a elimina personajul central:
M-ai întrebat dacă siruri de caractere termina cu un caracter special. Nu, te gandesti ca un programator C. În Python, siruri de caractere sunt stocate cu lungimea lor, astfel încât orice octet de valoare, inclusiv
\0
, pot apărea într-un șir.Aceasta este, probabil, cel mai bun mod:
Don't vă faceți griji despre schimbarea personaje și astfel. Majoritatea codul Python are loc la un nivel mult mai ridicat de abstractizare.
Pentru a înlocui o anumită poziție:
Pentru a înlocui un caracter specific:
Siruri de caractere sunt imuabile. Dar le puteți converti la o listă, care este mutabil, și apoi converti lista de spate la un șir de caractere după tine'am schimbat-o.
De asemenea, puteți crea un nou șir, așa cum alții au arătat, de a lua totul cu excepția caracter din șir existente.
Puteți't, pentru siruri de caractere în Python sunt imuabil.
Nr. Ele sunt similare cu listele de caractere; lungimea listei definește lungimea șirului, și nici un personaj nu acționează ca un terminator.
Nu puteți modifica existente șir, așa că trebuie să creați unul nou care conține totul, cu excepția mijloc de caracter.
Folosi
traduce()
metoda:UserString.MutableString
Mutabil mod:
Am văzut asta undeva aici.
Cum de a elimina un caracter dintr-un sir de caractere: Aici este un exemplu în cazul în care există un teanc de cărți reprezentat ca personaje într-un șir. Unul dintre ei este atras (import aleatoare modulul de întâmplare.alegerea funcția (), care preia un caracter aleatoriu în șir). Un nou șir de caractere, cardsLeft, este creat pentru a ține cărțile rămase dat de șirul funcția replace() în cazul în care ultimul parametru indică faptul că numai unul "carte" este de a fi înlocuite cu șirul vid...
Aici's ceea ce am făcut pentru a felie "M":
Dacă doriți să ștergeți/ignore caractere într-un șir, și, de exemplu, aveți acest șir,
"[11:L:0]"
la un web API răspuns sau ceva de genul asta, ca un fișier CSV, las's spun utilizați cereri
bucla și de a scăpa de nedorite caractere:
Opțional split, și vă va fi capabil să citească valorile individual:
Acum accesarea fiecare valoare este mai ușor:
Acest lucru se va imprima
Pentru a șterge un char "sau o" sub-șir de caractere` după (numai prima apariție):
NOTĂ: Aici cu " 1 " poate fi înlocuit cu orice
int
pentru numărul de apariție doriți să-l înlocuiți.Puteți folosi pur și simplu lista de înțelegere.
Să presupunem că aveți șirul: "numele meu este" și doriți pentru a elimina personajul "m". utilizați următorul cod:
Siruri de caractere sunt imuabile în Python deci ambele opțiuni înseamnă același lucru practic.