Python Metodo String find() con esempi
⚡ Riepilogo intelligente
Python Il metodo `find()` integrato restituisce l'indice della prima occorrenza di una sottostringa all'interno di una stringa. Restituisce -1 quando la sottostringa non è presente, evitando eccezioni.

Cosa è Python Trova stringa()?
Python Trova stringa() è una funzione disponibile nel Python libreria per trovare l'indice della prima occorrenza di una sottostringa all'interno di una data stringa. La funzione find() restituisce -1 invece di generare un'eccezione quando la sottostringa specificata non è presente nella stringa data. È una delle Pythonil più utilizzato metodi delle stringhe per individuare il testo.
Sintassi di Python stringa trova()
La sintassi di base del Python La funzione find() è la seguente:
string.find(substring,start,end)
Parametri per il metodo find()
Ecco i tre parametri della funzione find() in Python:
- sottostringa: La sottostringa che si desidera cercare nella stringa data.
- inizia a: (facoltativo) Il valore iniziale da cui inizierà la ricerca della sottostringa. Il valore predefinito è 0.
- fine: (facoltativo) Il valore finale in cui terminerà la ricerca della sottostringa. Per impostazione predefinita, il valore corrisponde alla lunghezza della stringa.
Esempio del metodo find() con valori predefiniti
I parametri passati al Python Il metodo find() accetta come parametri la sottostringa, ovvero la stringa da cercare, più i valori di inizio e fine. Il valore di inizio è 0 per impostazione predefinita, mentre il valore di fine corrisponde alla lunghezza della stringa.
In questo esempio, useremo il metodo find() in Python con valori predefiniti.
Il metodo find() cerca la sottostringa e restituisce la posizione della sua prima occorrenza. Se la sottostringa è presente più volte nella stringa data, restituirà comunque l'indice o la posizione della prima occorrenza.
Esempio:
mystring = "Meet Guru99 Tutorials Site.migliori 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 start
È possibile cercare una sottostringa all'interno della stringa data e specificare la posizione iniziale da cui avviare la ricerca. A tale scopo è possibile utilizzare il parametro "start".
L'esempio seguente specifica la posizione iniziale come 20 e il metodo find() in Python La ricerca inizierà dalla posizione 20. In questo caso, la posizione finale corrisponderà alla lunghezza della stringa, quindi la ricerca verrà effettuata fino alla fine della stringa a partire dalla posizione 20.
Esempio:
mystring = "Meet Guru99 Tutorials Site.migliori 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() che utilizza argomenti iniziali e finali
Utilizzando i parametri di inizio e fine, possiamo limitare la ricerca anziché cercare nell'intera stringa.
Esempio:
mystring = "Meet Guru99 Tutorials Site.migliori 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 del metodo find() per trovare la posizione di una data sottostringa in una stringa
Sappiamo che la funzione find() ci aiuta a trovare l'indice della prima occorrenza di una sottostringa. Restituisce -1 se la sottostringa non è presente nella stringa data. L'esempio seguente mostra l'indice quando la stringa è presente e -1 quando la sottostringa che stiamo cercando non viene trovata.
Esempio:
mystring = "Meet Guru99 Tutorials Site.migliori site for Python Tutorials!"
print("The position of migliori site is at:", mystring.find("migliori site", 5, 40))
print("The position of Guru99 is at:", mystring.find("Guru99", 20))
Produzione:
The position of migliori site is at: 27 The position of Guru99 is at: -1
Python stringa trova()
Migliori Python La funzione rfind() è simile alla funzione find(), con l'unica differenza che rfind() restituisce l'indice più alto per la sottostringa data, mentre find() restituisce l'indice più basso, ovvero il primo indice. Sia rfind() che find() restituiscono -1 se la sottostringa non è presente.
Nell'esempio seguente, abbiamo una stringa "Incontra GuruSito 99 tutorial. miglior sito per Python Tutorial!" e proverà a trovare la posizione della sottostringa Tutorials usando find() e rfind(). La sottostringa Tutorials compare due volte nella stringa.
Ecco un esempio in cui vengono utilizzati sia find() che rfind().
mystring = "Meet Guru99 Tutorials Site.migliori 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() : 12 The position of Tutorials using rfind() : 48
L'output mostra che find() restituisce l'indice della primissima sottostringa Tutorials che trova, mentre rfind() restituisce l'indice dell'ultima sottostringa Tutorials.
Python indice stringa()
Migliori Python La funzione `index()` restituisce la posizione della sottostringa specificata, proprio come `find()`. L'unica differenza tra le due è che `index()` genera un'eccezione se la sottostringa non è presente nella stringa, mentre `find()` restituisce -1.
Ecco un esempio funzionante che mostra il comportamento di index() e find().
mystring = "Meet Guru99 Tutorials Site.migliori 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() : 12 The position of Tutorials using index() : 12
Otteniamo la stessa posizione sia per find() che per index(). Vediamo un esempio in cui la sottostringa specificata non è presente nella stringa.
mystring = "Meet Guru99 Tutorials Site.migliori 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() : -1
Traceback (most recent call last):
File "task1.py", line 3, in <module>
print("The position of Tutorials using index() : ", mystring.index("test"))
ValueError: substring not found
Nell'esempio precedente, stiamo cercando di trovare la posizione della sottostringa "test". La sottostringa non è presente nella stringa data, quindi usando find() otteniamo la posizione come -1, ma per index() viene generato un errore, come mostrato sopra.
Per trovare l'occorrenza totale di una sottostringa
Per trovare il numero totale di volte in cui una sottostringa è apparsa nella stringa data, useremo la funzione find() in PythonScorreremo la stringa utilizzando un ciclo for dall'indice 0 fino alla fine della stringa, sfruttando il parametro startIndex della funzione find().
Le variabili startIndex e count saranno inizializzate a 0. All'interno del ciclo for, verificheremo se la sottostringa è presente nella stringa data utilizzando find() con startIndex pari a 0.
Il valore restituito da find(), se diverso da -1, aggiornerà startIndex all'indice in cui viene trovata la stringa e incrementerà anche il valore del contatore.
Ecco l'esempio funzionante:
my_string = "test string test, test string testing, test string test string"
startIndex = 0
count = 0
for i in range(len(my_string)):
k = my_string.find('test', startIndex)
if(k != -1):
startIndex = k+1
count += 1
k = 0
print("The total count of substring test is: ", count )
Produzione:
The total count of substring test is: 6
" Impara di più riguardo Python Divisione di stringhe()
