Funkce REGEXNAHRADIT umožňuje nahradit text z řetězce jiným řetězcem na základě zadaného regulárního výrazu ("regex").
Syntaxe
Funkce REGEXREPLACE nahradí řetězce v zadaném textu , které odpovídají vzoru , pomocí funkce náhrada.
Syntaxe funkce REGEXEXTRAHOVAT je:
REGEXREPLACE(text, vzor, nahrazení, [výskyt], [case_sensitivity])
| Argument | Popis |
|---|---|
|
text (povinné) |
Jedná se o text nebo odkaz na buňku obsahující text, ve kterém chcete nahradit řetězce. |
|
vzor (povinné) |
Regulární výraz ("regulární výraz"), který popisuje vzor textu, který chcete nahradit. |
|
výměna (povinné) |
Text, který chcete nahradit výskyty vzoru. |
| výskyt | Určuje, kterou instanci vzoru chcete nahradit. Ve výchozím nastavení je výskyt 0, což nahrazuje všechny výskyty. Záporné číslo nahradí tuto instanci a hledá se od konce. |
| case_sensitivity | Určuje, jestli se při shodě rozlišují velká a malá písmena. Ve výchozím nastavení se při shodě rozlišují velká a malá písmena. Zadejte jednu z následujících možností: 0: Rozlišování malých a velkých písmen Obr. 1: Nerozlišují se malá a velká písmena |
Poznámka
Při psaní vzorů regulárních výrazů lze použít symboly zvané "tokeny", které odpovídají různým znakům. Tady je několik jednoduchých referenčních tokenů:
- "[0-9]": libovolná číslice
- "[a-z]": znak v rozsahu od A do Z
- ".": libovolný znak
- "A": Znak "A"
- "a*": nula nebo více "a"
- "A+": jedno nebo více písmen "a"
- Všechny regulární výrazy pro tuto funkci, stejně jako REGEXTEST a REGEXEXTRACT , používají PCRE2 'příchuť' regulárního výrazu.
- Funkce REGEXEXTRAHOVAT vždy vrací textové hodnoty. Tyto výsledky můžete převést zpátky na číslo pomocí funkce HODNOTA.
Příklady
Zkopírujte příkladová data a vložte je do buňky A1 nového Excel listu. Pokud potřebujete, můžete přizpůsobit šířky sloupců a zobrazit si všechna data.
Příklad 1
Použijte REGEXREPLACE k anonymizaci telefonních čísel nahrazením jejich prvních 3 číslic znakem ***, pomocí vzoru
"[0-9]+-"
| Data |
|---|
| Sonia Rees(378) 555-4195 Angel Brown(878) 555-8622 Blake Martin(437) 555-8987 William Kirby(619) 555-4212 Avery Novák(579) 555-5658 Parker Jones(346) 555-0925 Liam Small(405) 555-0887 Hollie Rees(666) 555-1872 |
| Vzorce |
| =REGEXREPLACE(A2;"[0-9]+-";"***-") |
Následující obrázek ukazuje výsledek. Aby se ve výsledku zobrazily konce řádků, bude potřeba text v buňce A4 zalomit.
Příklad 2
Použijte REGEXNAHRADIT se zachycujícími skupinami k oddělení a změně pořadí křestního jména a příjmení pomocí vzoru: "([A-Z][a-z]+)([A-Z][a-z]+)"; a náhrada: "2 Kč, 1 Kč".
Poznámka: Zachytávající skupiny jsou definovány ve vzoru s závorkami "()" a lze na ně odkazovat jako na "$n". V tomto příkladu $1 a $2 odkazují na první a druhou zachytávající skupinu.
| Data |
|---|
| SoniaBrown |
| Vzorce |
| =REGEXREPLACE(A2;"([A-Z][a-z]+)([A-Z][a-z]+)";"$2; $1") |
Následující obrázek ukazuje výsledky.