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'

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Le stringhe in Python

Faq