Python ha diversi metodi per gestire le stringhe. In questo tutorial, ti mostrerò come sapere se una stringa contiene una sottostringa.
Come verificare se una stringa contiene una sottostringa
Non importa se è solo una parola, una lettera o una frase che vuoi controllare in una stringa, con Python puoi facilmente utilizzare i metodi integrati e il test di appartenenza in operatore.
Vale la pena notare che otterrai un valore booleano (Vero o Falso) o un numero intero per indicare se la stringa contiene ciò che hai cercato. Ne saprai di più quando mostro il codice qui sotto.
Diamo un'occhiata alle potenziali soluzioni con l'aiuto delle quali puoi trovare se una stringa contiene una parola/lettera specifica.
Metodo 1. Utilizzo dell'operatore "in"
Supponiamo di avere una stringa "str" già definita, ecco come apparirà:
stringexample = "terminator"
"ter" in str
L'output per questo sarà "True ” perché la stringa contiene ciò che ho cercato. Quindi, se cerchi qualcosa che non esiste nella stringa, otterrai "False ” come output.
Se non sei ancora sicuro, lasciami scrivere un piccolo programma per spiegare lo stesso:
stringexample = "Terminator"
substring = "ter"
if substring in stringexample:
print ("We've found the string!")
else:
print ("Oops, not found!")
L'output per il codice sopra sarà:
We've found the string!
Metodo 2:utilizzo del metodo Trova
Se desideri utilizzare un metodo per trovare una sottostringa, puoi utilizzare find() metodo. Ecco come farlo:
stringexample = "kiki"
stringexample.find("ki")
L'output per questo sarà 0 .
Il motivo alla base dell'output è:questo metodo restituisce il valore di indice più basso quando viene trovata la sottostringa.
Se restituisce -1 ciò significa che la stringa non contiene quella sottostringa.
Ecco un piccolo programma per mostrarlo in azione:
stringexample = "Kiki"
substring = "ki"
if stringexample.find("ki") != -1:
print ("We've found the string!")
else:
print ("Oops, not found!")
L'output per il codice sopra sarà:
We've found the string!
Metodo 3:utilizzo del metodo Contiene
__contiene__() è un'altra funzione per aiutarti a verificare se una stringa contiene una particolare lettera/parola.
Ecco come puoi usarlo:
stringexample = "kiki"
stringexample.__contains__("k")
Otterrai l'output come Vero/Falso . Per il frammento di codice sopra, otterrai l'output come:
True
Tieni presente che quando vuoi scrivere il metodo sono coinvolti 4 simboli di sottolineatura (2 prima della parola e 2 dopo).
Ecco un programma per spiegare lo stesso:
stringexample = "kiki"
if stringexample.__contains__("k") == True:
print ("Yeyy, found the substring!")
else:
print ("Oops, not found!")
In questo caso, l'output è:
Yeyy, found the substring!
Concludendo
Se trovi di utilizzare un algoritmo di ricerca da zero senza utilizzare le funzioni o le soluzioni sopra menzionate, puoi dare un'occhiata ad alcuni degli algoritmi di ricerca di stringhe per esplorare di più su di essi.
Se hai domande o suggerimenti, faccelo sapere.