tokenize-regexp
Teilt den Input-String in eine Sequenz von Strings auf. Als Trennzeichen wird ein beliebiger Substring definiert, der mit dem pattern (Muster) der als Argument bereitgestellten Regular Expression übereinstimmt. Die gefundenen Trennzeichen-Strings werden nicht in das durch die Funktion zurückgegebene Ergebnis inkludiert.
Anmerkung: | Die komplexen Funktionalitäten der Regular Expression-Syntax können bei der Generierung von C++-, C#- oder Java-Code etwas unterschiedlich sein. Nähere Informationen dazu finden Sie in der regex-Dokumentation zu den einzelnen Sprachen. |
![mf-func-tokenize-regexp](./images/mf-func-tokenize-regexp.png)
Sprachen
Built-in, C++, C#, Java, XQuery, XSLT 2.0, XSLT 3.0..
Parameter
Name | Beschreibung |
---|---|
input | Der Input-String. |
pattern | Gibt ein Muster für eine Regular Expression an. Jeder beliebige Substring, der mit dem Muster übereinstimmt, wird als Trennzeichen verwendet. Nähere Informationen dazu finden Sie unter Regular Expressions. |
flags | Optionaler Parameter. Stellt die Flags bereit, die für die Regular Expression verwendet werden sollen. So verarbeitet das Mapping etwa den Input aufgrund des Flags "i" ohne Berücksichtigung der Groß- und Kleinschreibung. |
Beispiel
Ziel des unten gezeigten Mappings ist es, den String a , b c,d in eine Stringsequenz aufzuteilen, wobei jedes alphabetische Zeichen ein Element in der Sequenz bildet. Überzählige Whitespace-Zeichen oder Kommas müssen entfernt werden.
![mf-func-tokenize-regexp-example3](./images/mf-func-tokenize-regexp-example3.png)
Zu diesem Zweck wurde als Parameter für die tokenize-regexp Funktion das Ausdrucksmuster [ ,]+ bereitgestellt. Dieses Muster hat folgende Bedeutung:
•Es steht für jedes der Zeichen innerhalb der Zeichenklasse [ ,]. Daher wird der Input-String überall dort, wo ein Komma oder Leerzeichen steht, aufgeteilt.
•Der Quantifizierer + gibt an, dass eine oder mehrere Instanzen des vorangestellten Zeichens übereinstimmen müssen. Ohne diesen Quantifizierer würde für jede Instanz eines Leerzeichens oder Kommas ein separates Datenelement in der Stringsequenz erzeugt, was nicht das Ziel der Aufgabe ist.
Das Ergebnis des Mappings sieht folgendermaßen aus:
<items> |