Come controllare se una stringa in Pyton contiene un altra stringa

Per controllare se una stringa contiene un altra stringa si può usare sia l’operatore in che il metodo find .

L’operatore in restituisce True se la sottostringa esiste nella stringa. altrimenti restituisce False.

Il metodo find restituisce l’indirizzo dell’inizio della sottostringa se quest’ultima viene trovata. Altrimenti restituisce -1. Si può inoltre effettuare la ricerca solo su una parte della stringa.


1. Usare l’operatore in

stringa = "Paperino abita a Paperopoli"
risultato = "Paperino" in stringa
print(risultato)
risultato = "Topolino" in stringa
print(risultato)

il risultato sarà:

True
False

2. Usare il metodo find

mentre l’operatore in restituisce un valore booleiano, il metodo find restituisce un intero.

L’intero è l’indirizzo dell’inizio della sottostringa se la sottostringa esiste, altrimenti il valore sestituito è -1.

stringa = "Paperino abita a Paperopoli"
risultato = stringa.find("Paperino")
print(risultato)
risultato = stringa.find("Topolino")
print(risultato)
risultato = stringa.find("Paperopoli")
print(risultato)

il risultato sarà:

0
-1
17

Una particolarità di questo metodo è che si può specivicare un indirizzo di inizio ed uno di fine per limitare il campo di ricerca

stringa = "Paperino abita a Paperopoli"
risultato = stringa.find("Paperino",6,27)
print(risultato)
risultato = stringa.find("Paperopoli",6,27)
print(risultato)

il risultato sarà:

-1
17

Nel primo caso il valore è -1 in quanto la ricerca è limitata tra il 7° e il 28° carattere.