Funkcja REGEXREPLACE umożliwia zamianę tekstu z ciągu na inny ciąg na podstawie podanego wyrażenia regularnego ("regex").
Składnia
Funkcja REGEXREPLACE zastępuje ciągi w podanym tekście , który jest zgodny ze wzorcem z zamianą.
Składnia funkcji REGEXWYODRĘBNIJ jest następująca:
REGEXREPLACE(tekst, wzorzec, zamiana; [wystąpienie]; [case_sensitivity])
| Argument | Opis |
|---|---|
|
tekst (wymagane) |
Tekst lub odwołanie do komórki zawierającej tekst, w którym mają zostać zamienione ciągi. |
|
deseń (wymagane) |
Wyrażenie regularne ("regex") opisujące wzorzec tekstu, który ma zostać zamieniony. |
|
Zamiennik (wymagane) |
Tekst, który ma zostać zamieniony na wystąpienia deseniu. |
| Wystąpienie | Określa, które wystąpienie szyku ma zostać zastąpione. Domyślnie argument wystąpienie to 0, które zastępuje wszystkie wystąpienia. To wystąpienie jest wyszukujące od końca liczbą ujemną. |
| 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ędnianie wielkości liter 1: Bez uwzględniania wielkości liter |
Uwaga
Podczas pisania wzorców wyrażeń regularnych można używać symboli zwanych "tokenami", które pasują do różnych znaków. Oto kilka prostych tokenów w celach 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+": co najmniej jeden znak "a"
- Wszystkie wyrażenia regularne tej funkcji, jak również REGEXTEST i REGEXEXTRACT , używają "smaku" PCRE2 wyrażenia regularnego.
- Funkcja REGEXWYODRĘBNIJ zawsze zwraca wartości tekstowe. Te wyniki można przekonwertować z powrotem na liczbę za pomocą funkcji WARTOŚĆ.
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.
Przykład 1
Użyj wyrażenia REGEXZASTĄP w celu anonimizacji numerów telefonów, zastępując ich pierwsze 3 cyfry znakiem ***, przy użyciu wzorca
"[0-9]+-"
| Dane |
|---|
| Sonia Rees(378) 555-4195 Anioł Brązowy(878) 555-8622 Blake Martin(437) 555-8987 Williama Kirby'ego(619) 555-4212 Avery Smith(579) 555-5658 Parker Jones(346) 555-0925 Liama Małego(405) 555-0887 Hollie Rees(666) 555-1872 |
| Formuły |
| =REGEXREPLACE(A2;"[0-9]+-";"***-") |
Poniższa ilustracja przedstawia wynik. Konieczne będzie zawinięcie tekstu w komórce A4, aby pokazać podziały wierszy w wyniku.
Przykład 2
Użyj REGEXREPLACE z grupami przechwytującymi, aby oddzielić i zmienić kolejność imienia 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 z nawiasami "()" i można do nich odwoływać się w zamianie jako "$n". W tym przykładzie wartości $1 i $2 odwołują się odpowiednio do pierwszej i drugiej grupy przechwytywania.
| Dane |
|---|
| Sonia Brown |
| Formuły |
| =REGEXREPLACE(A2;"([A-Z][a-z]+)([A-Z][a-z]+)";"$2, $1") |
Poniższa ilustracja przedstawia wyniki.