Funkcia REGEXREPLACE umožňuje nahradiť text z reťazca iným reťazcom na základe zadaného regulárneho výrazu ("regex").
Syntax
Funkcia REGEXREPLACE nahrádza reťazce v rámci zadaného textu , ktoré zodpovedajú vzorunáhradou.
Syntax funkcie REGEXEXTRACT je:
REGEXREPLACE(text; vzorka; nahradenie; [výskyt]; [case_sensitivity])
Argument |
Popis |
---|---|
text (povinné) |
Text alebo odkaz na bunku obsahujúcu text, v ktorom chcete nahradiť reťazce. |
vzorka (povinné) |
Regulárny výraz (regex), ktorý popisuje vzor textu, ktorý chcete nahradiť. |
náhrada (povinné) |
Text, ktorý chcete nahradiť inštanciami vzorky. |
výskyt |
Určuje, ktorú inštanciu vzoru chcete nahradiť. Predvolene je výskyt 0, ktorý nahrádza všetky inštancie. Záporné číslo nahradí danú inštanciu vyhľadávaním od konca. |
case_sensitivity |
Určuje, či sa v zhode rozlišujú malé a veľké písmená. V predvolenom nastavení sa v zhode rozlišujú malé a veľké písmená. Zadajte jednu z nasledujúcich možností: 0: Rozlišuje malé a veľké písmená 1: Rozlišujú sa malé a veľké písmená |
Poznámky: Pri písaní vzorov regexu možno použiť symboly nazývané tokeny, ktoré sa zhodujú s rôznymi znakmi. Toto je niekoľko jednoduchých tokenov na referenciu:
-
"[0-9]": ľubovoľná číselná číslica
-
"[a-z]": znak v rozsahu od a po z
-
".": ľubovoľný znak
-
"a": znak "a"
-
"a*": nula alebo viac "a"
-
"a+": jeden alebo viac "a"
-
Všetky regulárne výrazy pre túto funkciu, ako aj REGEXTEST a REGEXEXTRACT, používajú "príchuť" regexu PCRE2.
-
RegEXEXTRACT vždy vráti textové hodnoty. Tieto výsledky môžete skonvertovať späť na číslo s funkciou VALUE.
Príklady
Vzorové údaje skopírujte a prilepte do bunky A1 nového excelového hárka. V prípade potreby môžete upraviť šírku stĺpcov, aby sa údaje zobrazovali celé.
Použite REGEXREPLACE na anonymizáciu telefónnych čísel nahradením prvých 3 číslic znakom ***, a to pomocou vzoru
"[0-9]+-"
Údaje |
Sonia Reesová(378) 555-4195 Angel Brown (878) 555-8622 Blake Martin (437) 555-8987 William Kirby (619) 555-4212 Avery Smith(579) 555-5658 Parker Jones (346) 555-0925 Liam Small(405) 555-0887 Hollie Rees(666) 555-1872 |
Vzorce |
=REGEXREPLACE(A2;"[0-9]+-";"***-") |
Výsledok je znázornený na nasledujúcom obrázku. Na zobrazenie zlomov riadkov vo výsledku bude potrebné zalomiť text v bunke A4.
Pomocou funkcie REGEXREPLACE so záznamami skupín oddeľte a zmeňte poradie mena a priezviska pomocou vzoru: "([A-Z][a-z]+)([A-Z][a-z]+)"; a náhradné: "$2, $1".
Poznámka: Skupiny zaznamenávania sú definované v tvare so zátvorkami "()" a možno na ne odkazovať ako na "$n". V tomto príklade 1 USD a 2 EUR odkazujú na prvú a druhú zachytávajúcu skupinu.
Údaje |
SoniaBrown |
Vzorce |
=REGEXREPLACE(A2;"([A-Z][a-z]+)([A-Z][a-z]+)";"$2; $1") |
Výsledky sú znázornené na nasledujúcom obrázku.