Fette di linea
In Python, puoi selezionare parte di una stringa ( sottostringa). Per fare questo, usa l'operazione di ottenere una fetta (dall'inglese slicing)
La vista generale dell'operazione di affettatura è la seguente
s[start:stop:step]
Questo comando prende una sezione dalla stringa s a partire dal carattere all'indice start fino al carattere all'indice stop (escluso) con passaggio passaggio (se non specificato, il passaggio è 1)
Qualsiasi parte tra parentesi può mancare.
Per esempio,
s1 = s[3:8]
significa che i caratteri da 3 a 7 vengono copiati nella stringa s1 dalla stringa s con il passaggio 1.
Puoi prendere indici negativi, quindi il conteggio è dalla fine della stringa.
s = "0123456789"
s1 = s[-7:-2] # s1="34567"
Se start non è specificato, è considerato uguale a zero (cioè, lo prendiamo dall'inizio della stringa). Se stop non è specificato, la sezione viene presa fino alla fine della stringa.
s = "0123456789"
s1 = s[:4] # s1="0123"
s2 = s[-4:] # s2="6789"
Ecco quanto è facile invertire una stringa:
s = "0123456789"
s1 = s[::-1] # s1="9876543210"
Tutti i caratteri della stringa vengono iterati con incrementi di -1, il che significa che i caratteri verranno iterati dalla fine. L'intera riga è coinvolta perché gli indici iniziale e finale non sono specificati.
|
Elimina e incolla
Per eliminare parte di una stringa, è necessario comporre una nuova stringa unendo le parti della stringa originale prima e dopo la sezione da eliminare.
s = "0123456789"
s1 = s[:3]+s[9:] # s1="0129"
Usando le sezioni e la concatenazione di stringhe, puoi inserire una sottostringa all'interno di una stringa.
s = "0123456789"
s1 = s[:3]+"ABC"+s[3:] # s1="012ABC3456789"
|
Metodi di manipolazione delle stringhe
Python ha molti metodi (funzioni pronte all'uso) per lavorare con le stringhe. Molti di questi sono chiamati usando la notazione con punto e sono chiamati metodi. Un elenco completo dei metodi di manipolazione delle stringhe è disponibile online.
Facciamo conoscenza con alcuni di loro.
s = "aAbBcC"
sUp = s.upper() # sUp = "AABBCC" - un metodo che traduce
# rende maiuscolo ogni carattere della stringa
sLow = s.lower() # sLow = "aabbcc" - un metodo che traduce
# minuscola ogni carattere della stringa
A sinistra del punto c'è il nome della stringa (o la stringa stessa tra virgolette) a cui deve essere applicato il metodo, ea destra del punto c'è il nome del metodo. Il metodo è sempre scritto tra parentesi. Ci possono essere parametri all'interno delle parentesi se sono necessari.
In precedenza, usavamo già il metodo per lavorare con le stringhe quando mostravamo i dati sullo schermo in un certo formato: il metodo format()
un = 4
b = 5
print("{}+{}={}".format(a,b,a+b)) # 4+5=9
Un altro metodo utile isdigit() è un metodo per controllare se tutti i caratteri di una stringa sono cifre, restituisce un valore booleano (True o False).
s = "ab1c"
print(s.isdigit()) #False
s = "123"
print(s.ècifra()) #Vero
L'utile metodo strip() ti consente di rimuovere gli spazi all'inizio e alla fine di una stringa
s = " ab 1c "
print('s=', s.strip()) # s=ab 1c
|
Cerca in linea
Per cercare all'interno di una stringa in Python, usa il metodo find() .
Ha tre forme e restituisce l'indice della prima occorrenza della sottostringa nella stringa:
1) find(str) - la sottostringa str viene cercata dall'inizio alla fine della stringa;
2) find(str, start) - utilizzando il parametro start , viene impostato l'indice di partenza, ed è da esso che viene eseguita la ricerca;< br />
3) find(str, start, end) - utilizzando il parametro end , viene impostato l'indice di fine, la ricerca viene eseguita prima di esso.
Quando la sottostringa non viene trovata, il metodo restituisce -1:
welcome = "Ciao mondo! Addio mondo!"
index = welcome.find("lavoro")
stampa(indice) #6
# cercare dal 10° al 15° indice
index = welcome.find("lavoro", 10, 15)
print(indice) # -1
Puoi cercare dalla fine della stringa. Per questo, viene utilizzato il metodo rfind() (dall'inglese reverse find) che restituisce l'indice dell'ultima occorrenza di una sottostringa in una stringa.
Nota: metodi dati non cercare il numero di occorrenze, ma determina solo se esiste o meno una tale sottostringa nella stringa.
|
Sostituzione di sottostringhe in una stringa
In Python, per sostituire una sottostringa con un'altra in una stringa, usa il metodo replace() :
replace(old, new) - la sottostringa old è sostituita da new ;
replace(old, new, num) - il parametro num mostra quante occorrenze della sottostringa old sostituita da new > >.
Esempio
telefono = "+1-234-567-89-10"
# trattini vengono cambiati in spazi
edited_phone = phone.replace("-", " ")
stampa(telefono_modificato) # +1 234 567 89 10
# trattini vengono rimossi
edited_phone = phone.replace("-", "")
print(modificato_telefono) # +12345678910
# cambia solo il primo trattino
edited_phone = phone.replace("-", "", 1)
print(telefono_modificato) # +1234-567-89-10
|