Python Metodo String find() con esempi
Che cos'è la Python Trova stringa()?
Python Trova stringa() è una funzione disponibile in Python libreria per trovare l'indice della prima occorrenza di una sottostringa dalla stringa data. La funzione string find() restituirà -1 invece di generare un'eccezione, se la sottostringa specificata non è presente nella stringa data.
Sintassi di Python stringa trova()
La sintassi di base di Python La funzione find() è 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 desideri cercare nella stringa specificata.
- inizia a: (facoltativo) Il valore iniziale da cui inizierà la ricerca della sottostringa. Per impostazione predefinita, è 0.
- fine: (facoltativo) Il valore finale in cui terminerà la ricerca della sottostringa. Per impostazione predefinita, il valore è la lunghezza della stringa.
Esempio del metodo find() con valori predefiniti
I parametri passati a Python find() sono sottostringhe, ovvero la stringa che si desidera cercare, iniziare e terminare. Il valore iniziale è 0 per impostazione predefinita e il valore finale è la lunghezza della stringa.
In questo esempio utilizzeremo il metodo find() in Python con valori predefiniti.
Il metodo find() cercherà la sottostringa e fornirà la posizione della primissima 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.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 la sottostringa nella stringa data e specificare la posizione iniziale, da dove inizierà la ricerca. Il parametro di avvio può essere utilizzato per lo stesso.
L'esempio specificherà la posizione iniziale come 15 e 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.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 start e end, proveremo a 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 di metodo find() Per trovare la posizione di una determinata sottostringa in una stringa
Sappiamo che find() ci aiuta a trovare l'indice della prima occorrenza di substring. Restituisce -1 se la substring non è presente nella stringa data. L'esempio seguente mostra l'indice quando la stringa è presente e -1 quando non troviamo la substringa che stiamo cercando.
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()
Le Python la funzione rfind() è simile alla funzione find() con l'unica differenza che rfind() fornisce l'indice più alto per la sottostringa fornita e find() fornisce il più basso, ovvero il primo indice. Sia rfind() che find() restituiranno -1 se la sottostringa non è presente.
Nell'esempio seguente, abbiamo una stringa "Incontra il sito di tutorial Guru99. migliori siti per Python Tutorial!” e proverò a trovare la posizione della sottostringa Tutorial utilizzando find() e rfind(). La presenza di Tutorial nella stringa è doppia.
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() fornisce l'indice della primissima sottostringa Tutorials ottenuta e rfind() fornisce l'ultimo indice della sottostringa Tutorials.
Python indice stringa()
Le Python string 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.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
Stiamo ottenendo la stessa posizione sia per find() che per index(). Vediamo un esempio in cui la sottostringa data 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 sopra, stiamo cercando di trovare la posizione della sottostringa "test". La sottostringa non è presente nella stringa data e quindi utilizzando 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 la sottostringa si è verificata nella stringa data, utilizzeremo la funzione find() in Python. Eseguirà il loop della stringa utilizzando il ciclo for da 0 fino alla fine della stringa. Utilizzerà il parametro startIndex per find().
Le variabili startIndex e count verranno inizializzate su 0. Inside for –loop controllerà se la sottostringa è presente all'interno della stringa fornita utilizzando find() e startIndex come 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 count.
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
Sommario
- Le Python Il metodo 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 a Python Il metodo find substring è la sottostringa, ovvero la stringa che desideri cercare, iniziale e finale. 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 dove inizierà la ricerca. Il parametro di avvio può essere utilizzato per lo stesso.
- Utilizzando i parametri start e end, proveremo a limitare la ricerca, anziché cercare nell'intera stringa.
- Le Python funzione rfind() è simile alla funzione find() con l'unica differenza che rfind() fornisce l'indice più alto per la sottostringa fornita e find() fornisce il più basso, ovvero il primo indice. Sia rfind() che find() restituiranno -1 se la sottostringa non è presente.
- Le Python string 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 utilizzare find() per trovare il conteggio delle occorrenze totali di una sottostringa in una determinata stringa.
" Impara di più riguardo Python Divisione di stringhe()