CountRegEx() gibt die Anzahl der Vorkommen des Musters für den angegebenen regulären Ausdruck im Eingabestringtext zurück. Gibt es keine Übereinstimmung, ist das Ergebnis 0.
Diese Funktion führt Regex-Vorgänge durch, bei denen die Groß- und Kleinschreibung beachtet wird. Sie können alternativ die Variante CountRegExI() verwenden, um Regex-Vorgänge ohne Berücksichtigung der Groß-/Kleinschreibung durchzuführen.
Syntax:
CountRegEx
(text, regex)
Rückgabe Datentyp: numerisch
Argumente
Argument
Beschreibung
text
Der Text des Eingabestrings, in dem Sie nach einem regulären Ausdruck suchen möchten.
regex
Das Muster des regulären Ausdrucks, nach dem gesucht werden soll.
Funktionsbeispiele
Beispiel
Ergebnis
CountRegEx('abc123','[a-z]')
Gibt 3 zurück.
CountRegEx('abc123','[a-z][0-9]')
Gibt 1 zurück.
CountRegEx('abc123','[0-9]')
Gibt 3 zurück.
CountRegEx('ABC','[a-z]{3}')
Gibt 0 zurück.
CountRegExI('ABC','[a-z]{3}')
Gibt 1 zurück. Da die Variante CountRegExI() verwendet wird, wird bei der Textsuche nicht zwischen Groß- und Kleinschreibung unterschieden.
Verwendung
Beispiele für Anwendungsfälle für CountRegEx() sind:
Zählen, wie oft ein bestimmtes Textmuster in einem String vorkommt. Sie können zum Beispiel nach Instanzen von E-Mail-Adressen, Telefonnummern und anderen Informationen in Dokumenten und E-Mail-Nachrichten suchen.
Überprüfen, ob Daten einer bestimmten Syntaxanforderung entsprechen. Sie könnten zum Beispiel Fehler bei der Dateneingabe identifizieren.
Beispiel 1 – Ladeskript zum Zählen der gültigen Jahresbereiche
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Eine Tabelle mit dem Namen Vehicles, die eine Liste von Fahrzeugen enthält, zusammen mit dem Zustand und dem Modelljahr jedes Fahrzeugs.
Für jeden Datensatz in Vehicles eine Berechnung, um festzustellen, ob der Jahresbereich für das Fahrzeug der erwarteten Syntax entspricht. Gültige Jahresbereiche sind die 1990er, 2000er, 2010er und 2020er Jahre. Diese Berechnung wird mit der Funktion CountRegEx() durchgeführt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
Vehicle_ID
Valid_Year_Data
Ergebnistabelle
Vehicle_ID
Valid_Year_Data
1
0
2
1
3
1
4
0
5
1
6
1
7
0
8
1
9
0
10
1
Sie können dem Arbeitsblatt auch einen KPI hinzufügen und die folgende Kennzahl hinzufügen:
Sum(Valid_Year_Data)
Dieses Diagramm zeigt die Gesamtzahl der Datensätze mit gültigen Werten für Model_YearRange.
InformationshinweisAuch die Funktion MatchRegEx() ist für diese Art von Validierungsfällen nützlich.
Beispiel 2 – Ladeskript zum Zählen der Anzahl von E-Mail-Adressen in Textstrings
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Eine Tabelle mit dem Namen Employees, die Daten über die Mitarbeiter eines Unternehmens enthält. Alle E-Mail-Adressen der einzelnen Mitarbeiter sind in einem einzigen String enthalten.
Die Erstellung eines Feldes (NoOfEmails), um zu berechnen, wie viele E-Mail-Adressen im Eingabestring für jeden Mitarbeiter enthalten sind.
Beispiel 3 – Diagrammformel zum Zählen der Vorkommen eines Strings
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript in einen neuen Abschnitt ein.
Das Ladeskript enthält den Text aus einer Reihe von Firmenkorrespondenzen, die an die Mitarbeiter einer Organisation verschickt wurden. Die Daten wurden bereits von allen personenbezogenen Daten bereinigt, mit Ausnahme des Firmennamens und der E-Mail-Adresse, von der die jeweilige Korrespondenz stammt. Der Text jeder Nachricht wurde zu einem einzigen zusammenhängenden String zusammengefasst. Es wurden also alle Formatierungs- und Zeilenumbruchszeichen entfernt.
Unsere Anforderungen:
Identifizieren, welche Nachrichten einen String enthalten, der die E-Mail-Adresse TestCompanyNameCorrespondence@test.com enthält, zusammen mit einer spezifischen Einleitung für diese Adresse, die angibt, dass sie der Absender war.
Wir möchten flexibel sein, was die Identifizierung von Einleitungen angeht, aber auch einige klare Einschränkungen festlegen. Die Einleitungen Sender und Sent by werden beide als gültig angesehen. Um dieses Ziel zu erreichen, können Regex-Muster verwendet werden.
Die Groß- und Kleinschreibung von E-Mail-Adressen spielt dabei keine Rolle. Daher sollte bei der Suche die Groß- und Kleinschreibung nicht berücksichtigt werden.
Ladeskript
Correspondences:
Load * Inline [
ID|MessageBody
1|Sent by-- TestCompanyNameCorrespondence@test.com Good morning TestCompanyName team! I hope you are all well. I am just reaching out about the fabulous benefits package we launched just year. Our goal is to take a poll of what you all think. Can you please rate the new options from 1-10 in a response to this email, by this Tuesday? Thank you!
2|Sender: TestCompanyNameIT@test.com Did you know you can access our IT portal anytime, from any of your company devices? It's true! Reach out to your team lead to learn more.
3|Sender: TESTCOMPANYNAMECORRESPONDENCE@test.COM URGENT: This is a message to inform employees of an ongoing issue with our local branch. The branch will be closed until further notice. Thank you
4|Sender: TestCompanyNameVolunteering@test.com Dear team! We are looking for volunteers to help with this year's charity event! We need 40 volunteers to help with the event. If you are interested, please send an email to your direct supervisor. Thanks, TestCompanyName team members, for helping make the world a better place!
5|Sender is TestCompanyNameCorrespondence@test.com Hi folks, it's time to announce the annual TestCompanyName staff party! The party will be taking place at the office this year. Please make sure to RSVP, and we hope to see you there! Sincerely, the TestCompanyName management team
] (delimiter is |);
Ergebnisse
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
Legen Sie in den Eigenschaften der Kennzahl die Gesamtwerte-Funktion auf Sum fest. Damit wird die Gesamtwerte-Zeile oben in der Tabelle so konfiguriert, dass sie die Gesamtzahl der Datensätze zählt, die zur Anzahl beitragen.
Die Kennzahl zählt die Anzahl der Übereinstimmungen mit dem angegebenen Regex-Muster innerhalb des Nachrichteninhalts. Im Regex-Muster steht .* für eine beliebige Anzahl von Zeichen mit Ausnahme von Zeilenumbrüchen. Das Muster berücksichtigt auch Variationen in der Art und Weise, wie die E-Mail-Adresse eingeleitet wird: Sowohl Sender als auch Sent by sind gültige Übereinstimmungen. Die Variante CountRegExI() der Funktion gewährleistet eine Suche ohne Berücksichtigung von Groß- und Kleinschreibung.
Sent by-- TestCompanyNameCorrespondence@test.com Good morning TestCompanyName team! I hope you are all well. I am just reaching out about the fabulous benefits package we launched just year. Our goal is to take a poll of what you all think. Can you please rate the new options from 1-10 in a response to this email, by this Tuesday? Thank you!
1
2
Sender: TestCompanyNameIT@test.com Did you know you can access our IT portal anytime, from any of your company devices? It's true! Reach out to your team lead to learn more.
0
3
Sender: TESTCOMPANYNAMECORRESPONDENCE@TEST.COM URGENT: This is a message to inform employees of an ongoing issue with our local branch. The branch will be closed until further notice. Thank you
1
4
Sender: TestCompanyNameVolunteering@test.com Dear team! We are looking for volunteers to help with this year's charity event! We need 40 volunteers to help with the event. If you are interested, please send an email to your direct supervisor. Thanks, TestCompanyName team members, for helping make the world a better place!
0
5
Sender is TestCompanyNameCorrespondence@test.com Hi folks, it's time to announce the annual TestCompanyName staff party! The party will be taking place at the office this year. Please make sure to RSVP, and we hope to see you there! Sincerely, the TestCompanyName management team
1
Unter den fünf Nachrichten gibt es drei, die mit dem angegebenen Regex-Muster übereinstimmen. Jede Nachricht enthält eine Übereinstimmung.
InformationshinweisAuch die Funktion MatchRegEx() ist für diese Art von Validierungsfällen nützlich.
Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!