Funkcia REGEXREPLACE

Vzťahuje sa na
Excel pre Microsoft 365 Excel pre Microsoft 365 pre Mac

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 nahradí reťazce v zadanom texte , ktoré zodpovedajú vzorunáhradou.

Syntax funkcie REGEXEXTRACT je:

REGEXREPLACE(text; vzor; náhrada; [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ť.
výmena
(povinné)
Text, v ktorom chcete nahradiť inštancie vzorky.
výskyt Určuje, ktorú inštanciu vzorky chcete nahradiť. Predvolene je occurrence 0, čím sa nahrádzajú všetky inštancie. Záporné číslo nahradí daný výskyt, ktorý sa bude vyhľadávať od konca.
case_sensitivity Určuje, či sa v zhode rozlišujú malé a veľké písmená. V zhode sa predvolene rozlišujú malé a veľké písmená. Zadajte jednu z nasledujúcich možností:
0: Rozlišovať malé a veľké písmená
1: Nerozlišujú sa malé a veľké písmená

Poznámka

Pri písaní vzorov regulárnych výrazov možno použiť symboly nazývané "tokeny", ktoré sa zhodujú s rôznymi znakmi. Tu 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+": jedno alebo viac "a"
  • Všetky regulárne výrazy pre túto funkciu, ako aj REGEXTEST a REGEXEXTRACT používajú príchuť regexu PCRE2.
  • Funkcia REGEXEXTRACT vždy vráti textové hodnoty. Tieto výsledky môžete skonvertovať späť na číslo pomocou funkcie 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é.

Príklad 1

Pomocou funkcie REGEXREPLACE anonymizujte telefónne čísla nahradením ich prvých 3 číslic znakom *** 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 Kováčová(579) 555-5658
Parker Jones(346) 555-0925
Liam Small(405) 555-0887
Hollie Reesová(666) 555-1872
Vzorce.
=REGEXREPLACE(A2;"[0-9]+-";"***-")

Výsledok je znázornený na nasledujúcom príklade. Ak chcete zobraziť zlomy riadkov vo výsledku, bude potrebné zalomiť text v bunke A4.

Použitie funkcie REGEXREPLACE na nahradenie prvých troch číslic každého telefónneho čísla v zmiešanom texte znakom *, pomocou vzorky [0-9]+-

Príklad 2

Použite funkciu REGEXREPLACE so zachytávaním skupín na oddelenie a zmenu poradia daného mena a priezviska, pričom použite vzor: "([A-Z][a-z]+)([A-Z][a-z]+)"; a náhradou: "$2, $1".

Poznámka: Skupiny zaznamenávania sú definované vo vzore so zátvorkami () a namiesto nich sa na ne môže odkazovať ako na $n. V tomto príklade odkazujú hodnoty $1 a $2 na prvú a druhú skupinu zaznamenávania.

Ú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.

Použite funkciu REGEXREPLACE na zaznamenávanie skupín na oddelenie a zmenu poradia daného mena a priezviska, pomocou vzoru: ([A-Z][a-z]+)([A-Z][a-z]+) a náhrady: $2, $1