Metodi delle stringhe in Python
Nel linguaggio Python posso gestire le stringhe anche tramite i metodi. Ce ne sono parecchi.
Perché i metodi sono utili? Spesso un metodo raggiunge lo stesso risultato di più istruzioni. Quindi, usando i metodi si riduce la lunghezza del codice sorgente e ne migliora la leggibilità.
Quali sono i metodi delle stringhe in python?
Ecco l'elenco completo di tutti i metodi applicabili alle stringhe.
capitalize
Restituisce la stringa con il primo carattere in maiuscolo e gli altri in minuscolo.
nomestringa.capitalize()
Esempio
nome="Andrea MININI"
nome.capitalize()
Output
'Andrea minini'
center
Centra la stringa in una lunghezza di n caratteri (width) lasciando degli spazi a destra e a sinistra. Il secondo parametro (fillchar) è facoltativo, indica il carattere di riempimento da usare in sostituzione allo spazio.
nomestringa.center(width [, 'fillchar' ])
Esempio
nome="Andrea Minini"
nome.center(20, '-')
Output
'---Andrea Minini----'
count
Conta il numero delle occorrenze si una sottostringa (sub) in una stringa. I parametri facoltativi inizio e fine indicano rispettivamente la posizione iniziale e finale della stringa in cui cercare le occorrenze.
nomestringa.count('sub' [, inizio [, fine ] ])
Esempio
nome="Andrea Minini"
nome.count('ni')
Output
2
decode
Decodifica la stringa utilizzando il codec indicato (encoding). Se non è indicato, decodifica il codec per le stringhe. Il parametro error gestisce le eccezioni per gli errori di codifica.
nomestringa.decode([, encoding [, error ] ])
encode
Codifica la stringa usando il codec indicato (encoding). Se non è indicato, codifica il codec per le stringhe. Il parametro error gestisce le eccezioni per gli errori di codifica.
nomestringa.decode([, encoding [, error ] ])
endswith
Restituisce true se la stringa termina con il suffisso (suffix) altrimenti false. I parametri facoltativi delimitano la ricerca dalla posizione start alla posizione end della stringa.
nomestringa.endswith(suffix [, start [, end]])
Esempio
nome="Andrea Minini"
nome.count('ni', 1, 5)
Output
False
expandtabs
Sostituisce le tabulazioni (\t) in una stringa con un nomero (tabsize) di spazi. Se non è indicato il parametro tabsize, il metodo utilizza per default 8 spazi.
nomestringa.expandtabs(tabsize)
Esempio
nome="Andrea \t Minini"
nome.expandtabs(1)
Output
Andrea Minini
find
Cerca un carattere o una sottostringa (sub) in una stringa. Se è presente, ne restituisce la posizione dell'occorrenza a partire da sinistra. Se non è presente restituisce -1. I parametri facoltativi delimitano la ricerca dalla posizione start alla posizione end.
nomestringa.find(sub [,start [,end]])
Esempio
nome="Andrea Minini"
nome.find('ni')
Output
9
index
Come il metodo find anche index cerca un carattere o una sottostringa (sub) in una stringa. Se è presente, ne restituisce la posizione dell'occorrenza a partire da sinistra. Se non è presente solleva un'eccezione ValueError. I parametri facoltativi delimitano la ricerca dalla posizione start alla posizione end.
nomestringa.index(sub [,start [,end]])
Esempio
nome="Andrea Minini"
nome.index('ni')
Output
9
isalnum
Restituisce true (vero) se la stringa è alfanumerica.
nomestringa.isalnum()
Esempio
nome="Andrea Minini"
nome.isalnum()
Output
true
isalpha
Restituisce true (vero) se la stringa è composta da caratteri alfabetici. Viceversa, restituisce falso.
nomestringa.isalpha()
Esempio
nome="Andrea Minini"
nome.isalpha()
Output
false
Restituisce false perché nella stringa "Andrea Minini" c'è anche uno spazio ( carattere non alfabetico ).
isdecimal
Restituisce true (vero) se la stringa è composta da cifre decimali ("0123456789"). Viceversa, restituisce falso.
nomestringa.isdecimal()
Esempio
voto="30"
voto.isdecimal()
Output
true
Se la variabile ha un valore numerico ( es. voto=30 ) il metodo solleva un'eccezione perché non è una stringa.
isdigit
Restituisce true (vero) se la stringa è composta da cifredecimali ("0123456789") , pedici (2), apici(12). Viceversa, restituisce falso.
nomestringa.isdigit()
Esempio
voto="302"
voto.isdigit()
voto.isdecimal()
Output
true
false
A differenza di isdecimal, il metodo isdigit comprende più simboli numerici (apice e pedice).
isnumeric
Restituisce true (vero) se la stringa è composta da cifredecimali ("0123456789") , pedici (2), apici(12), simboli frazionari, numeri romani, ecc. Viceversa, restituisce falso.
nomestringa.isnumeric()
Esempio
voto="30¼"
voto.isnumeric()
voto.isdigit()
voto.isdecimal()
Output
true
false
false
A differenza di isdigit, il metodo isnumeric comprende più simboli numerici ( es. frazioni ).
islower
Restituisce true (vero) se la stringa è composta soltanto da lettere minuscole. Viceversa, restituisce falso.
nomestringa.islower()
Esempio
nome="Andrea Minini"
nome.islower()
Output
false
Il metodo restituisce falso perché la stringa contiene due lettere maiuscole ( A e M ).
isspace
Restituisce true (vero) se la stringa è composta soltanto da spazi. Viceversa, restituisce falso.
nomestringa.isspace()
Esempio
nome="Andrea Minini"
nome.isspace()
Output
false
Il metodo restituisce falso perché la stringa contiene anche altri caratteri oltre gli spazi.
istitle
Restituisce true (vero) se la stringa è composta da parole che iniziano con una lettera maiuscola seguita da minuscole.
nomestringa.istitle()
Esempio
nome="Andrea Minini"
nome.istitle()
Output
true
isupper
Restituisce true (vero) se la stringa è composta soltanto da lettere maiuscole. Viceversa, restituisce falso.
nomestringa.isupper()
Esempio
nome="ANDREA MININI"
nome.isupper()
Output
true
join
Unisce una lista composta da più stringhe in una sola stringa, separandole con un carattere separatore o da una stringa di separazione composta da più caratteri. Il carattere/stringa di separazione va indicato tra apici.
join(seq)
Esempio
'carattere'.join(['a','b','c'])
Output
abc
list
Spezza una stringa in una lista composta dai singoli caratteri della stringa.
list(nomestringa)
Esempio
stringa="abc"
list(stringa)
Output
['a', 'b', 'c']
ljust
Giustifica una stringa a sinistra aggiungendo degli spazi a destra, se il valore width è più grande della lunghezza di una stringa. Se invece width è inferiore alla lunghezza della stringa, il metodo restituisce la stringa originale. Il secondo parametro facoltativo ( fillchar ) mi permette di indicare quale carattere riempitore usare in sostituzione dello spazio (default).
ljust( width[, fillchar] )
Esempio
nome="Andrea Minini"
nome.ljust(20, '-')
Output
'Andrea Minini-------'
lower
Converte i caratteri della stringa in minuscolo.
lower()
Esempio
nome="Andrea Minini"
nome.lower()
Output
'andrea minini'
lstrip
Elimina gli spazi all'inizio di una stringa. Se è indicato il parametro char elimina il carattere all'inizio della stringa.
lstrip(char)
Esempio
nome="Andrea Minini"
nome.lstrip('A')
Output
'ndrea Minini'
replace
Sostituisce una sottostringa (old) con un'altra (new) all'interno della stringa. Il parametro facoltativo count indica la posizione iniziale della stringa da cui iniziare la ricerca.
replace(old, new[, count])
Esempio
nome="Andrea Minini"
nome.replace('Minini', 'Rossi')
Output
'Andrea Rossi'
rfind
Cerca un carattere o una sottostringa (sub) in una stringa da destra verso sinistra. Se è presente, ne restituisce la posizione dell'occorrenza a partire da destra. Se non è presente restituisce -1. I parametri facoltativi delimitano la ricerca dalla posizione start alla posizione end.
nomestringa.rfind(sub [,start [,end]])
Esempio
nome="Andrea Minini"
nome.rfind('ni')
nome.find('ni')
Output
11
9
Il metodo rfind trova l'ultima occorrenza mentre il metodo find trova la prima.
rindex
Come il metodo rfind anche rindex cerca un carattere o una sottostringa (sub) in una stringa da destra verso sinistra. Se è presente, ne restituisce la posizione dell'occorrenza a partire da destra. Se non è presente solleva un'eccezione ValueError. I parametri facoltativi delimitano la ricerca dalla posizione start alla posizione end.
nomestringa.rindex(sub [,start [,end]])
Esempio
nome="Andrea Minini"
nome.rindex('ni')
nome.index('ni')
Output
11
9
rjust
Giustifica una stringa a destra inserendo degli spazi a destra, se il valore width è più grande della lunghezza di una stringa. Se invece width è più piccolo dlla lunghezza della stringa, il metodo restituisce la stringa originale. Il secondo parametro facoltativo ( fillchar ) indica quale carattere riempitore utilizzare al posto dello spazio (default).
rjust( width[, fillchar] )
Esempio
nome="Andrea Minini"
nome.rjust(20, '-')
Output
'-------Andrea Minini'
rsplit
Trasforma una stringa in una lista di elementi usando il carattere separatore ( 'sep' ) contenuto nella stringa. Se non è indicato nessun carattere separatore (sep), il metodo usa di default lo spazio, trovando così le parole all'interno della stringa. Il parametro maxsplit è facoltativo, è un numero intero che fissa il numero massimo degli elementi da separare a partire da destra.
rsplit( [sep [,maxsplit]])
Esempio
nome="Andrea Minini"
nome.rsplit("n",1)
nome.split("n",1)
Output
['Andrea Mini', 'i']
['A', 'drea Minini']
Qual è la differenza tra split e rsplit?
Se il parametro maxsplit non è indicato, split e rsplit danno lo stesso risultato. Viceversa, se è indicato, split spezza la stringa a partire da sinistra ( es. ['A', 'drea Minini'] ) mentre rsplit a partire da destra ( es. ['Andrea Mini', 'i'] ).
rstrip
Rimuove una sottostringa o un carattere (chars) alla fine di una stringa, ossia a partire da destra ( right strip ). Se non è indicato il carattere chars, il metodo usa di default lo spazio.
rstrip( [chars])
Esempio
nome="Andrea Minini"
nome.rstrip("ni")
Output
'Andrea M'
split
Spezza la stringa in più elementi di una lista in base a un carattere separatore ( 'sep' ) contenuto nella stringa. Se non è indicato il carattere separatore (sep), il metodo utilizza di default lo spazio, trovando così le parole all'interno della stringa. Il parametro maxsplit è facoltativo, è un numero intero che fissa il numero massimo degli elementi da separare a partire da sinistra.
split( [sep [,maxsplit]])
Esempio
nome="Andrea Minini"
nome.split("n")
Output
['A', 'drea Mi', 'i', 'i']
splitlines
Spezza la stringa in più elementi di una lista in base al ritorno a capo. Ogni elemento della lista è una riga del testo. Il carattere di ritorno a capo \n non è compreso negli elementi. E' invece incluso se il parametro numerico facoltativo keepends è documentato.
splitlines( [keepends])
Esempio
nome="Andrea Minini \n seconda riga"
nome.splitlines()
nome.splitlines(1)
Output
['Andrea Minini ', ' seconda riga']
['Andrea Minini \n', ' seconda riga']
startswith
Restituisce true se la stringa comincia con la sottostringa prefix. I parametri facoltativi start ed end limitano la verifica entro una posizione iniziale e finale della stringa.
startswith( prefix[, start[, end]])
Esempio
nome="Andrea Minini"
nome.startswith("And")
nome.startswith("And", 4, 8)
Output
true
false
strip
Rimuove il carattere o la sottostringa chars all'inizio e alla fine di una stringa. Se non è indicato il parametro chars il metodo elimina gli spazi all'inizio e alla fine della stringa.
strip( [chars])
Esempio
nome="--Andrea Minini--"
nome.split("-")
Output
Andrea Minini
swapcase
Sostituisce i caratteri maiuscoli con i minuscoli nella stringa e viceversa.
swapcase()
Esempio
nome="Andrea Minini"
nome.swapcase()
Output
'aNDREA mININI'
title
Restituisce la stringa con le iniziali maiuscole in ogni parola e gli altri caratteri in minuscolo.
title()
Esempio
nome="andrea minini"
nome.title()
Output
'Andrea Minini'
translate
Restituisce la stringa con i caratteri mappati tramite una tavola di conversione. Le occorrenze deletechars sono invece rimosse.
translate( table[, deletechars])
upper
Restituisce la stringa con i caratteri in maiuscolo.
title()
Esempio
nome="Andrea Minini"
nome.upper()
Output
'ANDREA MININI'
zfill
Giustifica la stringa per una lunghezza width aggiungendo degli zeri a sinistra. Se la stringa è più lunga del parametro width, il metodo restituisce la stringa originaria.
zfill( width)
Esempio
nome="Andrea Minini"
nome.zfill(20)
Output
'0000000Andrea Minini'