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