Přejít na hlavní obsah

Snadný způsob, jak zkontrolovat konkrétní slovo na řádku pomocí Pythonu

Schopnost kontrolovat slovo v řádku je důležitou a často používanou operací při vývoji v programovacím jazyce Python. Při řešení úloh zpracování textů se často setkáváme s nutností určit, zda je určité slovo obsaženo v daném řádku.

Python poskytuje několik způsobů, jak provést takovou kontrolu. Můžeme použít různé metody řetězcových objektů nebo použít regulární výrazy pro složitější úkoly.

V tomto článku se podíváme na několik příkladů kódu v Pythonu, které vám pomohou zkontrolovat slovo v řádku. Podíváme se na různé přístupy, jako je použití metod in, find a použití regulárních výrazů pomocí modulu re.

Pravidelné výrazy

Python má vestavěný modul pro práci s pravidelnými výrazy re. Poskytuje různé funkce a metody, které lze použít k práci s textem.

Základní funkcí pro nalezení shody podle pravidelného výrazu je re.search(). Přijímá dva argumenty: šablonu a řádek, ve kterém je třeba hledat. Pokud je nalezena shoda, funkce vrátí objekt Match, který obsahuje informace o shodě.

Příklad použití funkce re.search():

text = " toto je příklad textu pro vyhledávání."

match = re.search(pattern, text)

print ("nenalezena shoda")

Regulární výrazy také umožňují použití metasimvol, které usnadňují vyhledávání. Například symbol .""používá se k označení jakéhokoli symbolu a symbol" ^ " je pro začátek řetězce.

Příklad použití metasymvolů:

text = " toto je začátek řádku."

match = re.search(pattern, text)

print ("nenalezena shoda")

Regulární výrazy jsou velmi flexibilní nástroj, který lze použít pro mnoho úkolů. Umožňují vyhledávat, nahrazovat, zvýrazňovat a manipulovat s textem podle daných šablon.

Metoda find

Metoda find vezme jeden argument-podstavec, který je třeba najít v řádku, a vrátí index prvního vstupu této podstavce. Pokud není podklad nalezen, metoda vrátí -1.

Příklad použití metody find:

# řádek, ve kterém budeme hledat podklad

string = " Ahoj, jak se máš?"

# podklad, který budeme hledat

Pokud je výsledek -1, není v řádku nalezena žádná podřada. Pokud je výsledek odlišný od -1, pak je to index prvního vstupu podřazení v řádku.

V tomto případě bude výsledek 8, protože podřazka " jak " se poprvé setkává v řádku s indexem 8.

Metoda find pracuje s registrem znaků, to znamená, že velká a malá písmena jsou různé znaky. Pokud potřebujete provést vyhledávání bez registru, můžete použít metodu lower před vyvoláním metody find:

# řádek, ve kterém budeme hledat podklad

string = " Ahoj, jak se máš?"

# podklad, který budeme hledat bez registru

Metoda tedy find umožňuje jednoduchou kontrolu slova v řádku v jazyce Python.

Metoda in

Python poskytuje vestavěnou metodu in, která vám umožní zkontrolovat slovo nebo podřazení v řádku. Metoda in vrací logickou hodnotu True, pokud je nalezeno slovo nebo podřazení, a False jinak.

# Проверяем наличие слова "привет" в строкеstring = "Привет, как дела?"if "привет" in string.lower():print("Слово 'привет' найдено!")else:print("Слово 'привет' не найдено!")

Metodu in lze také použít ke kontrole přítomnosti více slov nebo podřazení na řádku pomocí příkazů and a or . Například:

# Проверяем наличие слов "привет" и "как" в строкеstring = "Привет, как дела?"if "привет" in string.lower() and "как" in string.lower():print("Слова 'привет' и 'как' найдены!")else:print("Не все слова найдены!")

Metoda in je jednoduchý a pohodlný způsob, jak zkontrolovat, zda je v řádku v Pythonu slovo nebo podřazení.

Rozdělení řádku na slova

Metoda split () rozdělí řádek na části na základě oddělovače, který je výchozí mezerou. Například:

text = "Привет, мир!"words = text.split()print(words)
['Привет,', 'мир!']

Metoda re.split () umožňuje rozdělit řádek na části pomocí regulárního výrazu jako oddělovače. Například:

import retext = "Hello, world!"words = re.split(r'\W+', text)print(words)
['Hello', 'world', '']

Všimněte si , že tento příklad použil regulární výraz \W+, který odpovídá jakémukoli nealfavitově digitálnímu symbolu nebo skupině znaků.

Když znáte tyto dvě metody, můžete snadno rozdělit řádek na slova a použít je ve svém programu k provádění různých operací.

Metoda count

Metoda count umožňuje zkontrolovat, kolikrát se konkrétní slovo vyskytuje v řádku. Aplikuje se na řetězcový objekt a vrací počet nalezených shod.

Syntaxe metody je následující: řádek.count (slovo).

Příklad použití metody count:

text = "miluji programování v Pythonu"

V tomto příkladu jsme vytvořili řetězec proměnné text, obsahující frázi "Miluji programování v Pythonu". Pak jsme použili metodu count Chcete-li zkontrolovat počet vstupů slova "Python" do tohoto řádku. Výsledkem práce metody je číslo 1, protože slovo "Python" se v původním řádku vyskytuje pouze jednou.

Metoda count umožňuje také zkontrolovat různé znaky nebo sekvence znaků v řádku. Můžete například zkontrolovat počet výskytů symbolu "a":

V tomto příkladu jsme vytvořili řetězec proměnné word obsahuje slovo "banana". Pak jsme použili metodu count pro výpočet počtu znaků "a". Výsledkem práce metody je číslo 3, protože symbol "a" se v řádku vyskytuje třikrát.

Metoda count je vhodným nástrojem pro kontrolu přítomnosti slova nebo symbolu na řádku a počítání počtu jejich výskytů.

Knihovna re

V programovacím jazyce Python existuje výkonná knihovna re (regular expressions), která Vám umožňuje pracovat s pravidelnými výrazy. Regulární výrazy jsou šablony, které se používají k nalezení určitých sekvencí znaků v textu.

Knihovna re poskytuje různé metody a funkce pro práci s pravidelnými výrazy. Jednou z těchto metod je metoda search, která umožňuje najít první shodu regulárního výrazu v řádku. Pokud nejsou nalezeny žádné shody, metoda vrátí None.

Příklad použití metody search:

KódVýsledek
import re
string = "Hello, world!"
pattern = "world"
result = re.search(pattern, string)
print(result)

V tomto příkladu používáme metodu search k nalezení slova "world" v řádku. Metoda vrací objekt re.Match, který obsahuje informace o shodě, včetně indexů začátku a konce shody v řádku.

Knihovna re také poskytuje další metody a funkce, jako je findall, finditer, sub, split a další, které umožňují složitější práci s pravidelnými výrazy. Tyto metody a funkce lze použít k vyhledání všech shod na řádku, nahrazení shod na jiné hodnoty, oddělení řetězce podle náhod a provádění dalších operací.