
Il metodo rfind() in Python
Il metodo rfind() è un metodo delle stringhe in Python che cerca una sottostringa all'interno di una stringa e ti restituisce la posizione dell'ultima occorrenza.
stringa.rfind(sottostringa, [inizio, [fine]])
Dove la "stringa" è l'oggetto di tipo String in cui cercare la sottostringa.
Il metodo rfind() ha tre parametri
- La sottostringa che vuoi cercare nella stringa.
- L'inizio è l'indice di partenza della ricerca. E' opzionale. Se omesso la ricerca parte dall'ultimo carattere della stringa.
- La fine è l'indice di fine della ricerca. E' opzionale. Se omesso la ricerca termina al primo carattere della stringa.
La ricerca inizia dall'ultima posizione della stringa e procede verso l'inizio.
Il metodo restituisce l'indice dell'ultima occorrenza della sottostringa all'interno della stringa.
Se il metodo rfind() non trova la sottostringa all'interno della stringa, restituisce -1.
Nota. Se il metodo rfind() restituisce 0 vuol dire che ha trovato la sottostringa nel primo carattere della stringa. Quando non la trova restituisce -1. E' opportuno non confondersi. Ricorda che in Python il primo carattere di una stringa ha sempre un indice uguale a zero.
Ecco un esempio di utilizzo del metodo rfind()
Assegna una stringa a una variabile chiamata "myVar".
myVar = "hello world"
Poi cerca la posizione della sottostringa "o" nella stringa tramite il metodo rfind() e assegna il risultato alla variabile "pos".
pos = myVar.rfind("o")
Infine, stampa il risultato della ricerca.
print(pos)
In questo caso il risultato è 7 perché la sottostringa "o" si trova a partire dalla posizione 7 nell'indice.
7
Nella stringa ci sono due occorrenze della sottostringa "o" in posizione 4 e 7.
Il metodo rfind() restituisce soltanto l'ultima occorrenza perché effettua una ricerca da destra verso sinistra nella stringa, ossia dall'ultimo carattere al primo.