Funkce REGEXREPLACE

Platí pro
Excel pro Microsoft 365 Excel pro Microsoft 365 pro Mac

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.

Použití funkce REGEXNAHRADIT k nahrazení prvních tří číslic každého telefonního čísla ve smíšeném textu znakem *, pomocí vzoru [0-9]+-

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.

Použijte REGEXNAHRADIT se zachytávají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 nahrazení: $2, $1