Cos'è Python String find ()?
Python String find () è una funzione disponibile nella libreria Python per trovare l'indice della prima occorrenza di una sottostringa dalla stringa data. La funzione stringa find () restituirà -1 invece di lanciare un'eccezione, se la sottostringa specificata non è presente nella stringa data.
In questo tutorial sul metodo find () di stringhe Python imparerai:
- Cos'è Python String find ()?
- Sintassi della stringa Python find ()
- Esempio di metodo find () con valori predefiniti
- Esempio di find () utilizzando l'argomento iniziale
- Esempio di find () utilizzando gli argomenti di inizio e fine
- Esempio di metodo find () Per trovare la posizione di una data sottostringa in una stringa
- Stringa Python rfind ()
- Indice di stringa Python ()
- Per trovare l'occorrenza totale di una sottostringa
Sintassi della stringa Python find ()
La sintassi di base della funzione find () di Python è la seguente:
string.find(substring,start,end)
Parametri per il metodo find ()
Ecco tre parametri della funzione String find () in Python:- sottostringa : la sottostringa che vuoi cercare nella stringa data.
- inizio : (facoltativo) il valore iniziale da cui inizierà la ricerca della sottostringa. Per impostazione predefinita, è 0.
- end : (opzionale) il valore finale in cui terminerà la ricerca della sottostringa. Per impostazione predefinita, il valore è la lunghezza della stringa.
Esempio di metodo find () con valori predefiniti
I parametri passati al metodo find () di Python sono sottostringa, ovvero la stringa che si desidera cercare, iniziare e finire. Il valore iniziale è 0 per impostazione predefinita e il valore finale è la lunghezza della stringa.
In questo esempio, useremo il metodo find () in Python con i valori predefiniti.
Il metodo find () cercherà la sottostringa e fornirà la posizione della prima occorrenza della sottostringa. Ora, se la sottostringa è presente più volte nella stringa data, ti restituirà comunque l'indice o la posizione della prima.
Esempio:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials"))
Produzione:
The position of Tutorials is at: 12
Esempio di find () utilizzando l'argomento iniziale
È possibile cercare la sottostringa nella stringa data e specificare la posizione iniziale, da cui inizierà la ricerca. Il parametro di avvio può essere utilizzato per lo stesso.
L'esempio specificherà la posizione iniziale come 15 e il metodo find () in Python inizierà la ricerca dalla posizione 15. Qui, la posizione finale sarà la lunghezza della stringa e cercherà fino alla fine della stringa da 15 posizioni in poi.
Esempio:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Produzione:
The position of Tutorials is at 48
Esempio di find () utilizzando gli argomenti di inizio e fine
Utilizzando i parametri start e end, proveremo a limitare la ricerca, invece di cercare l'intera stringa.
Esempio:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Produzione:
The position of Tutorials is at 12
Esempio di metodo find () Per trovare la posizione di una data sottostringa in una stringa
Sappiamo che find () ci aiuta a trovare l'indice della prima occorrenza della sottostringa. Restituisce -1 se la sottostringa non è presente nella stringa data. L'esempio seguente mostra l'indice quando la stringa è presente e -1 quando non troviamo la sottostringa che stiamo cercando.
Esempio:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Best site is at:", mystring.find("Best site", 5, 40))print("The position of Guru99 is at:", mystring.find("Guru99", 20))
Produzione:
The position of Best site is at: 27The position of Guru99 is at: -1
Stringa Python rfind ()
La funzione Python rfind () è simile alla funzione find () con la sola differenza che rfind () fornisce l'indice più alto per la sottostringa data e find () dà il più basso, cioè il primissimo indice. Sia rfind () che find () restituiranno -1 se la sottostringa non è presente.
Nell'esempio seguente, abbiamo una stringa "Meet Guru99 Tutorials Site. Miglior sito per Python Tutorials!" e proverà a trovare la posizione delle sottostringhe Tutorial usando find () e rfind (). L'occorrenza di Tutorial nella stringa è due volte.
Ecco un esempio in cui vengono utilizzati sia find () che rfind ().
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("Tutorials"))print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))
Produzione:
The position of Tutorials using find() : 12The position of Tutorials using rfind() : 48
L'output mostra che find () fornisce l'indice della primissima sottostringa Tutorials che ottiene, e rfind () fornisce l'ultimo indice delle sottostringhe Tutorials.
Indice di stringa Python ()
La stringa Python index () è una funzione che ti darà la posizione della sottostringa data proprio come find (). L'unica differenza tra i due è che index () genererà un'eccezione se la sottostringa non è presente nella stringa e find () restituirà -1.
Ecco un esempio funzionante che mostra il comportamento di index () e find ().
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("Tutorials"))print("The position of Tutorials using index() : ", mystring.index("Tutorials"))
Produzione:
The position of Tutorials using find() : 12The position of Tutorials using index() : 12
Stiamo ottenendo la stessa posizione sia per find () che per index (). Vediamo un esempio quando la sottostringa data non è presente nella stringa.
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("test"))print("The position of Tutorials using index() : ", mystring.index("test"))
Produzione:
The position of Tutorials using find() : -1Traceback (most recent call last):File "task1.py", line 3, inprint("The position of Tutorials using index() : ", mystring.index("test"))ValueError: substring not found
Nell'esempio sopra, stiamo cercando di trovare la posizione della sottostringa "test". La sottostringa non è presente nella stringa data, e quindi usando find (), otteniamo la posizione -1, ma per index (), genera un errore come mostrato sopra.
Per trovare l'occorrenza totale di una sottostringa
Per trovare il numero totale di volte in cui la sottostringa si è verificata nella stringa data, utilizzeremo la funzione find () in Python. Eseguirà un ciclo attraverso la stringa usando for-loop da 0 fino alla fine della stringa. Utilizzerà il parametro startIndex per find ().
Le variabili startIndex e count verranno inizializzate a 0. Inside for -loop controllerà se la sottostringa è presente all'interno della stringa data usando find () e startIndex come 0.
Il valore restituito da find () se diverso da -1, aggiornerà startIndex all'indice in cui si trova la stringa e incrementerà anche il valore di conteggio.
Ecco l'esempio di lavoro:
my_string = "test string test, test string testing, test string test string"startIndex = 0count = 0for i in range(len(my_string)):k = my_string.find('test', startIndex)if(k != -1):startIndex = k+1count += 1k = 0print("The total count of substring test is: ", count )
Produzione:
The total count of substring test is: 6
Sommario
- Il metodo Python string find () aiuta a trovare l'indice della prima occorrenza della sottostringa nella stringa data. Restituirà -1 se la sottostringa non è presente.
- I parametri passati al metodo find sottostringa di Python sono sottostringa, ovvero la stringa che si desidera cercare, iniziare e finire. Il valore iniziale è 0 per impostazione predefinita e il valore finale è la lunghezza della stringa.
- È possibile cercare la sottostringa nella stringa data e specificare la posizione iniziale, da cui inizierà la ricerca. Il parametro di avvio può essere utilizzato per lo stesso.
- Utilizzando i parametri start e end, proveremo a limitare la ricerca, invece di cercare l'intera stringa.
- La funzione Python rfind () è simile alla funzione find () con la sola differenza che rfind () fornisce l'indice più alto per la sottostringa data e find () dà il più basso, cioè il primissimo indice. Sia rfind () che find () restituiranno -1 se la sottostringa non è presente.
- La stringa Python index () è ancora un'altra funzione che ti darà la posizione della sottostringa data proprio come find (). L'unica differenza tra i due è che index () genererà un'eccezione se la sottostringa non è presente nella stringa e find () restituirà -1.
- Possiamo usare find () per trovare il conteggio delle occorrenze totali di una sottostringa in una data stringa.