Python má několik metod, jak se vypořádat s řetězci. V tomto tutoriálu vám ukážu, jak zjistit, zda řetězec obsahuje podřetězec.
Jak zkontrolovat, zda řetězec obsahuje podřetězec
Bez ohledu na to, zda je to jen slovo, písmeno nebo fráze, kterou chcete zkontrolovat v řetězci, s Pythonem můžete snadno využít vestavěné metody a test členství v operátor.
Stojí za zmínku, že získáte booleovskou hodnotu (True nebo False) nebo celé číslo pro označení, zda řetězec obsahuje to, co jste hledali. Více se o tom dozvíte, když ukážu kód níže.
Pojďme se podívat na možná řešení, s jejichž pomocí můžete zjistit, zda řetězec obsahuje konkrétní slovo/písmeno.
Metoda 1. Použití operátoru „in“
Předpokládejme, že již máte definovaný řetězec „str“, takto bude vypadat:
stringexample = "terminator"
"ter" in str
Výstupem bude „True ” protože řetězec obsahuje to, co jsem hledal. Pokud tedy něco hledáte a v řetězci to neexistuje, dostanete „False ” jako výstup.
Pokud si stále nejste jisti, dovolte mi napsat malý program, který totéž vysvětlí:
stringexample = "Terminator"
substring = "ter"
if substring in stringexample:
print ("We've found the string!")
else:
print ("Oops, not found!")
Výstup pro výše uvedený kód bude:
We've found the string!
Metoda 2:Použití metody hledání
Pokud chcete použít metodu k nalezení podřetězce, můžete použít find() metoda. Zde je návod, jak to udělat:
stringexample = "kiki"
stringexample.find("ki")
Výstup pro toto bude 0 .
Důvodem výstupu je – tato metoda vrací nejnižší hodnotu indexu, když je nalezen podřetězec.
Pokud vrátí -1 to znamená, že řetězec neobsahuje tento podřetězec.
Zde je malý program, který to ukáže v akci:
stringexample = "Kiki"
substring = "ki"
if stringexample.find("ki") != -1:
print ("We've found the string!")
else:
print ("Oops, not found!")
Výstup pro výše uvedený kód bude:
We've found the string!
Metoda 3:Použití metody obsahuje
__obsahuje__() je další funkcí, která vám pomůže zkontrolovat, zda řetězec obsahuje konkrétní písmeno/slovo.
Zde je návod, jak jej můžete použít:
stringexample = "kiki"
stringexample.__contains__("k")
Získáte výstup jako True/False . Pro výše uvedený fragment kódu získáte výstup jako:
True
Všimněte si, že když chcete napsat metodu, jsou zde 4 podtržítka (2 před slovem a 2 za).
Zde je program, který totéž vysvětluje:
stringexample = "kiki"
if stringexample.__contains__("k") == True:
print ("Yeyy, found the substring!")
else:
print ("Oops, not found!")
V tomto případě je výstup:
Yeyy, found the substring!
Zabalení
Pokud zjistíte, že používáte vyhledávací algoritmus od nuly bez použití funkcí nebo výše uvedených řešení, můžete se podívat na některé z algoritmů pro vyhledávání řetězců a prozkoumat o nich více.
Máte-li dotazy nebo návrhy, dejte mi prosím vědět.