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()