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.