Funkcja REGEXREPLACE umożliwia zamianę tekstu z ciągu na inny ciąg na podstawie podanej wyrażenia regularnego ("regex").
Składnia
Funkcja REGEXREPLACE zastępuje ciągi w podanym tekście zgodnym ze wzorcemzamiany.
Składnia funkcji REGEXEXTRACT to:
REGEXREPLACE(text, pattern, replacement, [occurrence], [case_sensitivity])
Argument |
Opis |
---|---|
text (wymagane) |
Tekst lub odwołanie do komórki zawierającej tekst, w obrębie którego chcesz zamienić ciągi. |
deseń (wymagane) |
Wyrażenie regularne ("regex") opisujące wzorzec tekstu, który chcesz zamienić. |
zastępstwo (wymagane) |
Tekst, który ma zostać zastąpiony wystąpieniami wzorca. |
zdarzenie |
Określa wystąpienie wzorca, który ma zostać zastąpiony. Domyślnie wystąpienie ma wartość 0, co zastępuje wszystkie wystąpienia. Liczba ujemna zastępuje to wystąpienie, wyszukując od końca. |
case_sensitivity |
Określa, czy w dopasowaniu jest uwzględniana wielkość liter. Domyślnie w dopasowaniu jest uwzględniana wielkość liter. Wprowadź jedną z następujących opcji: 0: Uwzględniana wielkość liter 1: Bez uwzględniania wielkości liter |
Uwagi: Podczas pisania wzorców regexu można używać symboli zwanych "tokenami", które pasują do różnych znaków. Oto kilka prostych tokenów do celów informacyjnych:
-
"[0-9]": dowolna cyfra numeryczna
-
"[a-z]": znak z zakresu od a do z
-
".": dowolny znak
-
"a": znak "a"
-
"a*": zero lub więcej "a"
-
"a+": jeden lub więcej "a"
-
Wszystkie wyrażenia regularne dla tej funkcji, a także REGEXTEST i REGEXEXTRACTużywają "smaku" regexu PCRE2.
-
Funkcja REGEXEXTRACT zawsze zwraca wartości tekstowe. Te wyniki można przekonwertować z powrotem na liczbę za pomocą funkcji ARG.
Przykłady
Skopiuj przykładowe dane i wklej je w komórce A1 nowego arkusza programu Excel. Jeśli to konieczne, możesz dostosować szerokości kolumn, aby wyświetlić pełne dane.
Użyj funkcji REGEXREPLACE, aby zanonimizować numery telefonów, zamieniając ich pierwsze 3 cyfry na ***, używając wzorca
"[0-9]+-"
Data (Dane) |
Sonia Rees(378) 555-4195 Anioł Brązowy(878) 555-8622 Blake Martin (437) 555-8987 William Kirby(619) 555-4212 Avery Smith(579) 555-5658 Parker Jones (346) 555-0925 Liam Mały(405) 555-0887 Hollie Rees(666) 555-1872 |
Formuły |
=REGEXREPLACE(A2;"[0-9]+-";***-") |
Na poniższej ilustracji przedstawiono wynik. Aby wyświetlić podziały wierszy w wyniku, musisz zawinąć tekst w komórce A4.
Użyj funkcji REGEXREPLACE z grupami przechwytywania, aby oddzielić i zmienić kolejność podanej nazwy i nazwiska, używając wzorca: "([A-Z][a-z]+)([A-Z][a-z]+)"; i zamiana: "$2, $1".
Uwaga: Grupy przechwytywania są zdefiniowane we wzorcu za pomocą nawiasów "()" i można się do nich odwoływać w zamian jako "$n". W tym przykładzie odwołania do pierwszej i drugiej grupy przechwytywania $1 i $2.
Data (Dane) |
SoniaBrown |
Formuły |
=REGEXREPLACE(A2;"([A-Z][a-z]+)([A-Z][a-z]+)";"$2, $1") |
Poniższa ilustracja przedstawia wyniki.