lettura facile

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.
un esempio di stringa

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.

la posizione dell'ultima occorrenza

Il metodo rfind() restituisce soltanto l'ultima occorrenza perché effettua una ricerca da destra verso sinistra nella stringa, ossia dall'ultimo carattere al primo.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin