Zeichenfolgen-Funktionen string-functions
Mit Zeichenfolgenfunktionen können Sie Textwerte in Ihren Journey-Ausdrücken bearbeiten und mit ihnen arbeiten. Diese Funktionen sind für die Textverarbeitung, Validierung, Umwandlung und Analyse in Ihren Customer Journeys unerlässlich.
Verwenden Sie Zeichenfolgenfunktionen für Folgendes:
- Verketten und Kombinieren mehrerer Textwerte (contact)
- Suchen nach bestimmten Textmustern oder Unterzeichenfolgen (contain, containIgnoreCase, indexOf, lastIndexOf, matchRegExp)
- Vergleichen von Zeichenfolgen mit Übereinstimmungen, bei denen die Groß-/Kleinschreibung beachtet oder nicht beachtet wird (equalIgnoreCase, notEqualIgnoreCase)
- Überprüfen von Anfang und Ende von Zeichenfolgen (startWith, startWithIgnoreCase, endWith, endWithIgnoreCase)
- Extrahieren von Textteilen mithilfe von Vorgängen in Unterzeichenfolgen (substr)
- Umwandeln von Text in Groß- oder Kleinbuchstaben (upper, lower, trim)
- Überprüfen, ob Zeichenfolgen leer sind oder bestimmte Werte enthalten (isEmpty, isNotEmpty)
- Ersetzen von Textmustern durch neue Werte (replace, replaceAll)
- Aufspalten von Zeichenfolgen zur weiteren Verarbeitung in Arrays (split)
- Abrufen der Zeichenfolgenlänge (length) oder Generieren von eindeutige Kennungen (uuid)
Zeichenfolgenfunktionen bieten umfangreiche Textbearbeitungsfunktionen, die eine ausgefeilte Datenverarbeitung und eine bedingte Logik ermöglichen, die auf Textinhalten in Ihren Journey-Ausdrücken basiert.
concat concat
Verkettet zwei Zeichenfolgenparameter oder eine Liste von Zeichenfolgen.
concat(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Liste | listString |
| string | Zeichenfolge |
concat(<string>,<string>)
concat(<listString>)
Gibt eine Zeichenfolge zurück.
concat("Hello","World")
Gibt „HelloWorld“ zurück.
concat(["Hello"," ","World"])
Gibt „Hello World“ zurück.
contain contain
Überprüft, ob die zweite Argumentzeichenfolge in der ersten Argumentzeichenfolge enthalten ist.
contain(<parameters>)- Zeichenfolge
contain(<string>,<string>)
Gibt einen booleschen Wert zurück.
contain("rowing is great", "great")
Gibt „true“ zurück.
containIgnoreCase containIgnoreCase
Überprüft, ob die zweite Argumentzeichenfolge in der ersten Argumentzeichenfolge enthalten ist, ohne Groß-/Kleinschreibung zu berücksichtigen.
containIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| string | string |
| string searched | Zeichenfolge |
containIgnoreCase(<string>,<string>)
Gibt einen booleschen Wert zurück.
containIgnoreCase("rowing is great", "GREAT")
Gibt „true“ zurück.
endWith endWith
Gibt „true“ zurück, wenn der zweite Parameter ein Suffix des ersten Parameters ist.
endWith(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| string | string |
| suffix | Zeichenfolge |
endWith(<string>,<string>)
Gibt einen booleschen Wert zurück.
endWith("Hello World", "World")
Gibt „true“ zurück.
endWith("Hello World", "Hello")
Gibt „false“ zurück.
endWithIgnoreCase endWithIgnoreCase
Überprüft, ob die erste Argumentzeichenfolge mit einer bestimmten Zeichenfolge endet (zweite Argumentzeichenfolge), wobei Groß-/Kleinschreibung nicht berücksichtigt wird.
endWithIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| string | string |
| suffix | Zeichenfolge |
endWithIgnoreCase(<string>,<string>)
Gibt einen booleschen Wert zurück.
endWithIgnoreCase("rowing is great", "AT")
Gibt „true“ zurück.
equalIgnoreCase equalIgnoreCase
Vergleicht die erste Argumentzeichenfolge mit der zweiten Argumentzeichenfolge und ignoriert dabei die Groß-/Kleinschreibung.
equalIgnoreCase(<parameters>)- Zeichenfolge
equalIgnoreCase(<string>,<string>)
Gibt einen booleschen Wert zurück.
equalIgnoreCase("rowing is great", "rowing is GREAT")
Gibt „true“ zurück.
indexOf indexOf
Gibt die Position (im ersten Argument) des ersten Auftretens des zweiten Parameters zurück. Gibt -1 zurück, wenn keine Übereinstimmung vorliegt.
indexOf(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| string | Zeichenfolge |
| angegebener Wert | Zeichenfolge |
indexOf(<string>,<string>)
Gibt eine Ganzzahl zurück.
indexOf("Hello", "l")
Gibt 2 zurück.
Erklärung:
In „Hello“ befindet sich das erste Auftreten von „l“ an Position 2.
isEmpty isEmpty
Gibt „true“ zurück, wenn die Zeichenfolge im Parameter keine Zeichen enthält.
isEmpty(<parameters>)- Zeichenfolge
isEmpty(<string>)
Gibt einen booleschen Wert zurück.
isEmpty("")
Gibt „true“ zurück.
isEmpty("Hello World")
Gibt „false“ zurück.
isEmpty(<null>)
Gibt „false“ zurück.
isNotEmpty isNotEmpty
Gibt „true“ zurück, wenn die Zeichenfolge im Parameter nicht leer ist.
isNotEmpty(<parameters>)- Zeichenfolge
isNotEmpty(<string>)
Gibt einen booleschen Wert zurück.
isNotEmpty("")
Gibt „false“ zurück.
isNotEmpty("hello")
Gibt „true“ zurück.
lastIndexOf lastIndexOf
Gibt die Position (im ersten Argument) des letzten Auftretens des zweiten Parameters zurück. Gibt -1 zurück, wenn keine Übereinstimmung vorliegt.
lastIndexOf(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| string | Zeichenfolge |
| angegebener Wert | Zeichenfolge |
lastIndexOf(<string>,<string>)
Gibt eine Ganzzahl zurück.
lastIndexOf("Hello", "l")
Gibt 3 zurück.
Erklärung:
In „Hello“ befindet sich das letzte Auftreten von „l“ an Position 3.
length length
Gibt die Anzahl der Zeichen des Zeichenfolgenausdrucks im Parameter zurück.
length(<parameters>)- Zeichenfolge
length(<string>)
Gibt eine Ganzzahl zurück.
length("Hello World")
Gibt 11 zurück.
lower lower
Gibt eine Version des Parameters in Kleinbuchstaben zurück.
lower(<parameter>)- Zeichenfolge
lower(<string>)
Gibt eine Zeichenfolge zurück.
lower("A")
Gibt „a“ zurück.
matchRegExp matchRegExp
Gibt „true“ zurück, wenn die Zeichenfolge im ersten Parameter mit dem regulären Ausdruck im zweiten Parameter übereinstimmt. Weitere Informationen finden Sie auf dieser Seite.
matchRegExp(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| string | string |
| regexp | string |
matchRegExp(<string>,<string>)
Gibt einen booleschen Wert zurück.
matchRegExp("12345", "\\d+")
Gibt „true“ zurück.
notEqualIgnoreCase notEqualIgnoreCase
Überprüft, ob sich die erste Argumentzeichenfolge von der zweiten Argumentzeichenfolge unterscheidet, wobei Groß-/Kleinschreibung ignoriert wird.
notEqualIgnoreCase(<parameters>)- Zeichenfolge
notEqualIgnoreCase(<string>,<string>)
Gibt einen booleschen Wert zurück.
notEqualIgnoreCase(@event{iOSPushPermissionAllowed.device.model}, "iPad")replace replace
Ersetzt das erste Auftreten, das mit der Zielzeichenfolge übereinstimmt, in der Basiszeichenfolge durch die Ersatzzeichenfolge.
Die Ersetzung verläuft vom Anfang der Zeichenfolge zum Ende. Wenn Sie z. B. in der Zeichenfolge „aaa“ „aa“ durch „b“ ersetzen, erhalten Sie „ba“ und nicht „ab“.
replace(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Parameter | Typ |
| base | string |
| target | string (RegExp) |
| replacement | string |
replace(<base>,<target>,<replacement>)
Gibt eine Zeichenfolge zurück.
replace("Hello World", "l", "x")
Gibt „Hexlo World“ zurück.
Beispiel mit RegExp:
Da der Zielparameter ein regulärer Ausdruck ist, müssen Sie je nach der Zeichenfolge, die Sie ersetzen möchten, möglicherweise einige Zeichen auslassen. Siehe folgendes Beispiel:
- auszuwertende Zeichenfolge:
|OFFER_A|OFFER_B - bereitgestellt von einem Profilattribut
#{ExperiencePlatform.myFieldGroup.profile.myOffers} - Zeichenfolge, die ersetzt werden soll:
|OFFER_A - Zeichenfolge ersetzt durch:
'' - Sie müssen
\\vor dem Zeichen|hinzufügen.
Der Ausdruck lautet:
replace(#{ExperiencePlatform.myFieldGroup.profile.myOffers}, '\\|OFFER_A', '')
Die zurückgegebene Zeichenfolge lautet: |OFFER_B
Sie können auch die Zeichenfolge erstellen, die mit einem bestimmten Attribut ersetzt werden soll:
replace(#{ExperiencePlatform.myFieldGroup.profile.myOffers}, '\\|' + #{ExperiencePlatform.myFieldGroup.profile.myOfferCode}, '')
replaceAll replaceAll
Ersetzt jedes Auftreten, das mit der Zielzeichenfolge übereinstimmt, in der Basiszeichenfolge durch die Ersatzzeichenfolge.
Die Ersetzung verläuft vom Anfang der Zeichenfolge zum Ende. Wenn Sie z. B. in der Zeichenfolge „aaa“ „aa“ durch „b“ ersetzen, erhalten Sie „ba“ und nicht „ab“.
replaceAll(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Parameter | Typ |
| base | string |
| target | string (RegExp) |
| replacement | string |
replaceAll(<baseString>,<sourceString>,<replacementString>)
Gibt eine Zeichenfolge zurück.
replaceAll("Hello World", "l", "x")
Gibt „Hexxo Worxd“ zurück.
Da der Zielparameter ein regulärer Ausdruck ist, müssen Sie je nach der Zeichenfolge, die Sie ersetzen möchten, möglicherweise einige Zeichen auslassen. Siehe das Beispiel in der Funktion replace.
split split
Spaltet die erste Argumentzeichenfolge mit einer Trennzeichenfolge (zweite Argumentzeichenfolge, die ein regulärer Ausdruck sein kann) auf, um eine Liste von Zeichenfolgen (Token) zu erzeugen.
split(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Eingabezeichenfolge | Zeichenfolge |
| Trennzeichenfolge | Zeichenfolge |
split(<input string>, <separator string>)
Gibt eine listString zurück.
split("A_B_C", "_")
Gibt ["A","B","C"] zurück
Beispiel mit dem Ereignisfeld „event.appVersion“ mit dem Wert: 20.45.2.3434
split(@event{event.appVersion}, "\\.")
Gibt ["20", "45", "2", "3434"] zurück
startWith startWith
Gibt „true“ zurück, wenn der zweite Parameter ein Präfix des ersten Parameters ist.
startWith(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| string | string |
| prefix | string |
startWith(<string>,<string>)
Geben einen booleschen Wert zurück.
startWith("Hello World", "Hello")
Gibt „true“ zurück.
startWith("Hello World", "World")
Gibt „false“ zurück.
startWithIgnoreCase startWithIgnoreCase
Gibt „true“ zurück, wenn der zweite Parameter ein Präfix des ersten Parameters ist, ohne die Groß-/Kleinschreibung zu berücksichtigen.
startWithIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| string | string |
| prefix | string |
startWithIgnoreCase(<string>,<string>)
Geben einen booleschen Wert zurück.
startWithIgnoreCase("rowing is great", "RO")
Gibt „true“ zurück.
substr substr
Gibt die Unterzeichenfolge des Zeichenfolgenausdrucks zwischen dem Anfangsindex und dem Endindex zurück. Wenn der Endindex nicht definiert ist, wird die Zeichenfolge zwischen dem Anfangsindex und dem Ende zurückgegeben.
substr(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Parameter | type |
| Zeichenfolge | string |
| beginIndex | integer |
| endIndex | integer |
substr(<string>,<beginIndex>)
substr(<string>,<beginIndex>,<endIndex>)
Gibt eine Zeichenfolge zurück.
substr("Hello World",6)
Gibt „World“ zurück.
substr("Hello World", 0, 5)
Gibt „Hello“ zurück.
trim trim
Entfernt Leerzeichen am Anfang und Ende.
trim(<parameters>)| table 0-row-2 1-row-2 | |
|---|---|
| Parameter | Typ |
| string | Zeichenfolge |
trim(<string>)
Gibt eine Zeichenfolge zurück.
trim(" Hello ")
Gibt „Hello“ zurück.
upper upper
Gibt eine Version des Parameters in Großbuchstaben zurück.
upper(<parameters>)upper(<string>)
Gibt eine Zeichenfolge zurück.
upper("b")
Gibt „B“ zurück.
uuid uuid
Generiert einen zufälligen UUID (Universal Unique IDentifier).
uuid()uuid()
Gibt eine Zeichenfolge zurück.
uuid()
Gibt „79e70b7f-8a85-400b-97a1-9f9826121553“ zurück.
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page documents all string functions available in AJO journey expressions, covering text search, comparison, transformation, extraction, validation, replacement, splitting, and unique identifier generation.
Intents:
- Concatenate two or more strings using
concat - Search for a substring within a string (case-sensitive or case-insensitive) using
containorcontainIgnoreCase - Compare two strings while ignoring case using
equalIgnoreCaseornotEqualIgnoreCase - Check whether a string starts or ends with a specific prefix or suffix using
startWith,endWith, and their case-insensitive variants - Extract a substring by index positions using
substr - Replace the first or all occurrences of a pattern in a string using
replaceorreplaceAll - Split a string into a list of tokens by a separator using
split - Generate a random UUID for unique identifier needs using
uuid - Check if a string is empty or non-empty using
isEmptyorisNotEmpty
Glossary:
- RegExp: A regular expression pattern used as the target parameter in
replace,replaceAll, andmatchRegExp— special characters must be escaped with\\ - UUID: Universal Unique IDentifier — a randomly generated string identifier returned by
uuid() - substr: Extracts a portion of a string by specifying a start index and optional end index (zero-based)
Guardrails:
- The
targetparameter inreplaceandreplaceAllis treated as a RegExp; special characters (e.g.,|,.) must be escaped with\\ replacereplaces only the first matching occurrence; usereplaceAllto replace every occurrenceisEmptyreturns false for null values (not true); null is not considered an empty stringindexOfandlastIndexOfreturn -1 when no match is found- String index positions are zero-based (the first character is at position 0)
Terminology:
- Canonical name: String functions — Acronym: none — variants: text functions, string manipulation functions
- Synonyms: “contain” = “substring check”; “split” = “tokenize string”; “trim” = “strip whitespace”
- Do not confuse: “replace” (first occurrence only) ≠ “replaceAll” (all occurrences)
- Do not confuse: “indexOf” (first occurrence position) ≠ “lastIndexOf” (last occurrence position)
- Do not confuse: “isEmpty” (true only for zero-length string) ≠ null check (isEmpty returns false for null)
- Do not confuse: “equalIgnoreCase” (returns true when equal ignoring case) ≠ “notEqualIgnoreCase” (returns true when different ignoring case)
FAQ:
- Q: How do I check if a string contains a substring regardless of case? — Use
containIgnoreCase("myString", "searchTerm"), which returns true if the search term is found in any case. - Q: What is the difference between
replaceandreplaceAll? —replacesubstitutes only the first matching occurrence;replaceAllsubstitutes every occurrence in the string. - Q: Why do I need to escape the
|character inreplace? — The target parameter is treated as a regular expression;|is a special RegExp character and must be escaped as\\|to be treated as a literal pipe. - Q: Does
isEmptyreturn true for null? — No,isEmptyreturns false for null; it only returns true for a zero-length string"". - Q: How do I extract the major version number from a version string like “20.45.2.3434”? — Use
getListItem(split(@event{event.appVersion}, "\\."), 0)to split by dot and retrieve the first element. - Q: How do I generate a unique identifier in a journey expression? — Use
uuid(), which returns a randomly generated UUID string with no parameters required.