Excel pro Microsoft 365 a Excel pro web nyní obsahují nové funkce pro práci s regulárními výrazy: REGEXTEST, REGEXEXTRACT a REGEXREPLACE. Tyto funkce umožňují uživatelům provádět pokročilé textové operace pomocí regulárních výrazů přímo v Excelu. Pojďme si je podrobněji představit. Najdete je také v online kurzu Novinky v Excelu 365.
REGEXTEST
Funkce REGEXTEST slouží ke kontrole, zda zadaný text odpovídá určitému regulárnímu výrazu (regex). Pokud existuje shoda, funkce vrátí hodnotu PRAVDA, pokud ne, vrátí hodnotu NEPRAVDA.
Syntaxe: REGEXTEST(text, vzor, [case_sensitivity])
- text (povinné): Text nebo odkaz na buňku obsahující text, který chcete porovnat.
- vzor (povinné): Regulární výraz, který popisuje vzor textu, který chcete spárovat.
- case_sensitivity (nepovinné): Určuje, zda se v shodě rozlišují velká a malá písmena. Výchozí hodnota je 0 (rozlišují se).
Příklady:
=REGEXTEST(A2, "a")
– Zkontroluje, zda text v buňce A2 obsahuje písmeno “a”.=REGEXTEST(A2, "[a-z]")
– Zkontroluje, zda text v buňce A2 obsahuje malá písmena.=REGEXTEST(A2, "^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$")
– Zkontroluje, zda text v buňce A2 odpovídá formátu telefonního čísla.
Více k funkci v nápovědě.
REGEXEXTRACT
Funkce REGEXEXTRACT umožňuje extrahovat text z řetězce na základě zadaného regulárního výrazu. Můžete extrahovat první shodu, všechny shody nebo zachytávat skupiny z první shody.
Syntaxe: REGEXEXTRACT(text, vzor, [return_mode], [case_sensitivity])
- text (povinné): Text nebo odkaz na buňku obsahující text, ze kterého chcete extrahovat řetězce.
- vzor (povinné): Regulární výraz, který popisuje vzor textu, který chcete extrahovat.
- return_mode (nepovinné): Určuje, jaké řetězce chcete extrahovat (0: první shoda, 1: všechny shody, 2: zachytávání skupin z první shody). Výchozí hodnota je 0.
- case_sensitivity (nepovinné): Určuje, zda se v shodě rozlišují velká a malá písmena. Výchozí hodnota je 0 (rozlišují se).
Příklady:
=REGEXEXTRACT(A2, "[A-Z][a-z]+")
– Extrahuje první shodu velkého písmene následovaného malými písmeny z textu v buňce A2.=REGEXEXTRACT(A2, "[0-9()]+ [0-9-]+", 1)
– Extrahuje všechna telefonní čísla z textu v buňce A2.
Více k funkci v nápovědě.
REGEXREPLACE
Funkce REGEXREPLACE umožňuje nahradit text v řetězci jiným řetězcem na základě zadaného regulárního výrazu.
Syntaxe: REGEXREPLACE(text, vzor, nahrazení, [výskyt], [case_sensitivity])
- text (povinné): Text nebo odkaz na buňku obsahující text, ve kterém chcete nahradit řetězce.
- vzor (povinné): Regulární výraz, který popisuje vzor textu, který chcete nahradit.
- nahrazení (povinné): Text, který chcete použít jako náhradu za shodné instance.
- výskyt (nepovinné): Určuje, kterou instanci vzoru chcete nahradit (0: všechny instance, záporné číslo: od konce). Výchozí hodnota je 0.
- case_sensitivity (nepovinné): Určuje, zda se v shodě rozlišují velká a malá písmena. Výchozí hodnota je 0 (rozlišují se).
Příklady:
=REGEXREPLACE(A2, "[0-9]+-", "***-")
– Nahradí první tři číslice telefonního čísla v buňce A2 znakem ***.=REGEXREPLACE(A2, "([A-Z][a-z]+)([A-Z][a-z]+)", "$2, $1")
– Přeuspořádá křestní jméno a příjmení v textu v buňce A2.
Více k funkci v nápovědě.
Závěr
Tyto nové funkce Excelu výrazně rozšiřují možnosti práce s textem a regulárními výrazy, což usnadňuje provádění komplexních textových operací. Vyzkoušejte je a objevte, jak vám mohou usnadnit práci!
Zdroj: https://insider.microsoft365.com/en-us/blog/new-regular-expression-regex-functions-in-excel