ReplaceRegExGroup — funkcja skryptu i funkcja wykresu
Funkcja ReplaceRegExGroup() zwraca ciąg znaków po zastąpieniu jednego lub większej liczby dopasowań między ciągiem wejściowym a określonym złożonym wzorcem wyrażenia regularnego. Tekst zastępujący pasujący tekst jest określony w argumencie to_str. Funkcja ta działa od lewej do prawej, ale jeśli określisz ujemną wartość occurrence, funkcja będzie odczytywać od prawej do lewej.
Funkcja ta wykonuje operacje z wyrażeniami regularnymi, w których rozróżniana jest wielkość liter. Zamiast tego można użyć wariantu ReplaceRegExGroupI(), aby wykonywać operacje z wyrażeniami regularnymi bez rozróżniania wielkości liter.
Składnia:
ReplaceRegExGroup
(text, regex, to_str, group [, occurrence])
Typ zwracanych danych: ciąg znaków
Argumenty
Argument
Opis
text
Tekst ciągu wejściowego, który ma zostać zastąpiony w całości lub częściowo nowym tekstem z to_str.
regex
Wyrażenie regularne określające, kiedy tekst ma zostać zastąpiony. Dopasowania między tym argumentem a argumentem text są zastępowane.
to_str
Nowy tekst, który ma zastąpić istniejącą zawartość strony text.
group
Numer grupy w przypadku złożonego wyrażenia regularnego.
Jeśli wyrażenie regularne zawiera tylko jedną grupę, użyj zamiast tego funkcji ReplaceRegEx(). Zamiast tego można użyć ReplaceRegExGroup() z wartością group równą 0.
Można określić ujemną wartość group, aby wyszukiwać grupy od prawej do lewej.
occurrence
Numer dopasowania (między tekstem wejściowym a wyrażeniem regularnym) do zastąpienia nowym tekstem.
Ten argument jest opcjonalny. W razie pominięcia domyślną wartością jest 0. W przypadku użycia wartości 0 lub pominięcia argumentu wszystkie dopasowania między text a regex są zastępowane przez to_str.
Można określić ujemną wartość occurrence, aby wyszukiwać dopasowania od prawej do lewej.
Zwraca wartość abc123abx123. Istnieją dwa dopasowania między pierwszą grupą tekstu wejściowego a wzorcem wyrażenia regularnego. Zastępowane jest jednak tylko drugie wystąpienie.
Zwraca wartość ABC123ABC123. Innymi słowy, nie jest zastępowany żaden tekst. Jest tak, ponieważ funkcja uwzględnia wielkość liter, a wariant nieuwzględniający wielkości liter nie jest używany.
Zwraca wartość ABx123ABx123. W tym przykładzie następuje zamiana tekstu, ponieważ używany jest wariant funkcji niewrażliwy na wielkość liter, ReplaceRegExGroupI().
Kiedy używać
Możesz użyć ReplaceRegExGroup() do modyfikacji tekstu w celu spełnienia standardów formatowania i zgodności, zwłaszcza gdy potrzebujesz złożonych wzorców w danych. Dodatkowy argument group tej funkcji umożliwia aktualizację tylko niektórych części większego wzorca tekstowego. Można na przykład aktualizować określone części adresu URL.
W razie potrzeby można również użyć tej funkcji do maskowania poufnych informacji, takich jak dane osobowe, aby nie były one wyświetlane użytkownikom analizującym aplikację.
Przykład 1 — skrypt ładowania do aktualizacji domeny w adresach URL
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Tabela URLs zawierająca początkowo listę ciągów wejściowych, w których chcemy zidentyfikować i zaktualizować określone adresy URL. Chcemy zaktualizować domenę w tych adresach URL.
Utworzenie pola ResourceURL_Updated, które zawiera zmodyfikowany tekst wejściowy z przetworzonymi adresami URL.
ZmiennaURL_RegEx do przechowywania wyrażenia regularnego używanego do identyfikacji adresów URL do przetworzenia.
Nasze wymagania:
Każdy ciąg wejściowy zawiera dwa adresy URL, przy czym adres URL zasobu jest określony w pierwszym adresie URL. Nie chcemy aktualizować żadnych adresów URL poza pierwszym wymienionym.
Adres URL do aktualizacji musi być w formacie <https lub https>://<domena>.com/<ścieżka zasobu>. Ścieżka zasobu jest opcjonalna, ale nie jest używana w tym przykładzie.
Skrypt ładowania
Set URL_RegEx = '(https?):\/\/(([a-zA-Z0-9]+)\.([a-zA-Z0-9]*)\.??([a-zA-Z0-9]*))\/?((([a-zA-Z0-9]*)*)((\/?([a-zA-Z0-9]*)*))*)\/{0,1}([\.,;]+(?=\s))*?';
URLs:
Load
ReplaceRegExGroup(URLsList, '$(URL_RegEx)', 'replacement-server', 2,1) as ResourceURL_Updated;
Load * Inline `
URLsList
The resource is located at https://testserver.com/files. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/files/worksheet. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/files/book. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/files/form. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/datamodel. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/resourcenew. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/page. For more help, see: https://support.company.com.
The resource is located at https://testserver.com/page/overview. For more help, see: https://support.company.com.
` (delimiter is '\t');
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
ResourceURL_Updated
Tabela wynikowa
ResourceURL_Updated
The resource is located at https://replacement-server/datamodel. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/files. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/files/book. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/files/form. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/files/worksheet. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/page. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/page/overview. For more help, see: https://support.company.com.
The resource is located at https://replacement-server/resourcenew. For more help, see: https://support.company.com.
Przykład 2 — wyrażenie wykresu do aktualizacji protokołu w adresach URL
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Tabela URLsList zawierająca listę ciągów wejściowych, w których chcemy zidentyfikować i zaktualizować określone adresy URL. Chcemy zaktualizować protokół z http na https w łączach do witryny pomocy technicznej.
Nasze wymagania:
Każdy ciąg wejściowy zawiera dwa adresy URL, przy czym łącze do witryny pomocy technicznej pojawia się jako drugi adres URL. Nie chcemy aktualizować żadnych adresów URL poza drugim.
Adres URL do aktualizacji musi być w formacie <https lub https>://<domena>.com/<ścieżka zasobu>. Ścieżka zasobu jest opcjonalna, ale nie jest używana w tym przykładzie.
Skrypt ładowania
URLs:
Load * Inline `
URLsList
The resource is located at https://testserver.com/files. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/files/worksheet. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/files/book. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/files/form. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/datamodel. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/resourcenew. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/page. For more help, see: http://support.company.com.
The resource is located at https://testserver.com/page/overview. For more help, see: http://support.company.com.
` (delimiter is '\t');
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar: