GNU/Linux >> Znalost Linux >  >> Linux

Zkontrolujte, zda řetězec obsahuje podřetězec v Pythonu

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.


Linux
  1. Test shellu, zda řetězec více řádků obsahuje zadaný vzor na posledním řádku?

  2. Jak zkontrolovat podřetězec v Shell Script Bash?

  3. Jak zkontrolovat, zda řetězec obsahuje podřetězec v Bash

  1. Jak zkontrolovat, zda proces stále běží pomocí Pythonu na Linuxu?

  2. Protokolování Pythonu - zkontrolovat umístění souborů protokolu?

  3. Jak zkontrolovat, zda řetězec obsahuje speciální znak ([email protected]#$%^&*()_+)

  1. Zkontrolujte, zda některý z parametrů bash skriptu odpovídá řetězci

  2. bash - vyhledá pozici indexu řetězce podřetězce

  3. Jak mohu zkontrolovat doslovné znaky řetězce příkazu bash?