Fonctions de chaîne string-functions
Les fonctions de chaîne vous permettent de manipuler et d’utiliser des valeurs de texte dans vos expressions de parcours. Ces fonctions sont essentielles pour le traitement de texte, la validation, la transformation et l’analyse dans vos parcours clients.
Utilisez des fonctions de chaîne lorsque vous devez :
- concaténer et combiner plusieurs valeurs de texte (concat) ;
- rechercher des modèles de texte ou des sous-chaînes spécifiques (contain, containIgnoreCase, indexOf, lastIndexOf, matchRegExp) ;
- comparer des chaînes avec une correspondance sensible ou insensible à la casse (equalIgnoreCase, notEqualIgnoreCase) ;
- vérifier que la chaîne commence et se termine (startWith, startWithIgnoreCase, endWith, endWithIgnoreCase) ;
- extraire des parties de texte à l’aide d’opérations de sous-chaîne (substr) ;
- transformer le texte en majuscules ou en minuscules (majuscule, inférieure, rognage) ;
- vérifier si les chaînes sont vides ou contiennent des valeurs spécifiques (isEmpty, isNotEmpty) ;
- remplacer des modèles de texte par de nouvelles valeurs (replace, replaceAll) ;
- partager les chaînes en tableaux pour un traitement ultérieur (division) ;
- obtenir la longueur de la chaîne (length) ou générer les identifiants uniques (uuid).
Les fonctions de chaîne fournissent des fonctionnalités complètes de manipulation de texte, permettant un traitement des données sophistiqué et une logique conditionnelle basée sur le contenu texte de vos expressions de parcours.
concat concat
Concatène deux paramètres de chaîne ou une liste de chaînes.
concat(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| Liste | listString |
| chaîne | Chaîne |
concat(<string>,<string>)
concat(<listString>)
Renvoie une chaîne.
concat("Hello","World")
Renvoie « HelloWorld ».
concat(["Hello"," ","World"])
Renvoie « Hello World ».
contain contain
Vérifie si la chaîne du deuxième argument est contenue dans la chaîne du premier argument.
contain(<parameters>)- chaîne
contain(<string>,<string>)
Renvoie une valeur booléenne.
contain("rowing is great", "great")
Renvoie true.
containIgnoreCase containIgnoreCase
Vérifie si la chaîne du deuxième argument est contenue dans la chaîne du premier argument, sans tenir compte de la casse.
containIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| chaîne | Chaîne |
| chaîne recherchée | chaîne |
containIgnoreCase(<string>,<string>)
Renvoie une valeur booléenne.
containIgnoreCase("rowing is great", "GREAT")
Renvoie true.
endWith endWith
Renvoie « true » si le deuxième paramètre est un suffixe du premier.
endWith(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| chaîne | Chaîne |
| suffixe | chaîne |
endWith(<string>,<string>)
Renvoie une valeur booléenne.
endWith("Hello World", "World")
Renvoie true.
endWith("Hello World", "Hello")
Renvoie false.
endWithIgnoreCase endWithIgnoreCase
Vérifie si la chaîne du premier argument se termine par une chaîne spécifique (chaîne du deuxième argument), sans tenir compte de la casse.
endWithIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| chaîne | Chaîne |
| suffixe | chaîne |
endWithIgnoreCase(<string>,<string>)
Renvoie une valeur booléenne.
endWithIgnoreCase("rowing is great", "AT")
Renvoie true.
equalIgnoreCase equalIgnoreCase
Compare la chaîne du premier argument à la chaîne du deuxième argument, en ignorant les considérations de casse.
equalIgnoreCase(<parameters>)- chaîne
equalIgnoreCase(<string>,<string>)
Renvoie une valeur booléenne.
equalIgnoreCase("rowing is great", "rowing is GREAT")
Renvoie true.
indexOf indexOf
Renvoie la position (dans le premier argument) de la dernière occurrence du deuxième paramètre. Renvoie -1 s’il n’existe aucune correspondance.
indexOf(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| chaîne | Chaîne |
| valeur spécifiée | Chaîne |
indexOf(<string>,<string>)
Renvoie un entier.
indexOf("Hello", "l")
Renvoie 2.
Explication :
Dans « Hello », la première occurrence de « l » est en position 2.
isEmpty isEmpty
Renvoie « true » si la chaîne du paramètre ne contient aucun caractère.
isEmpty(<parameters>)- chaîne
isEmpty(<string>)
Renvoie une valeur booléenne.
isEmpty("")
Renvoie true.
isEmpty("Hello World")
Renvoie false.
isEmpty(<null>)
Renvoie false.
isNotEmpty isNotEmpty
Renvoie « true » si la chaîne du paramètre n’est pas vide.
isNotEmpty(<parameters>)- chaîne
isNotEmpty(<string>)
Renvoie une valeur booléenne.
isNotEmpty("")
Renvoie false.
isNotEmpty("hello")
Renvoie true.
lastIndexOf lastIndexOf
Renvoie la position (dans le premier argument) de la dernière occurrence du deuxième paramètre. Renvoie -1 s’il n’existe aucune correspondance.
lastIndexOf(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| chaîne | Chaîne |
| valeur spécifiée | Chaîne |
lastIndexOf(<string>,<string>)
Renvoie un entier.
lastIndexOf("Hello", "l")
Renvoie 3.
Explication :
Dans « Hello », la dernière occurrence de « l » est en position 3.
length length
Renvoie le nombre de caractères de l’expression sous forme de chaîne dans le paramètre.
length(<parameters>)- chaîne
length(<string>)
Renvoie un entier.
length("Hello World")
Renvoie 11.
lower lower
Renvoie une version en minuscules du paramètre.
lower(<parameter>)- chaîne
lower(<string>)
Renvoie une chaîne.
lower("A")
Renvoie « a ».
matchRegExp matchRegExp
Renvoie « true » si la chaîne du premier paramètre correspond à l’expression régulière du second paramètre. Pour plus d’informations, consultez cette page.
matchRegExp(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| chaîne | Chaîne |
| regexp | chaîne |
matchRegExp(<string>,<string>)
Renvoie une valeur booléenne.
matchRegExp("12345", "\\d+")
Renvoie true.
notEqualIgnoreCase notEqualIgnoreCase
Vérifie si la chaîne du premier argument est différente de la chaîne du deuxième argument, en ignorant les considérations de casse.
notEqualIgnoreCase(<parameters>)- chaîne
notEqualIgnoreCase(<string>,<string>)
Renvoie une valeur booléenne.
notEqualIgnoreCase(@event{iOSPushPermissionAllowed.device.model}, "iPad")replace replace
Remplace la première occurrence correspondant à la chaîne cible par la chaîne de remplacement dans la chaîne de base.
Le remplacement s’effectue du début à la fin de la chaîne. Par exemple, le remplacement de « aa » par « b » dans la chaîne « aaa » donnera « ba » et non « ab ».
replace(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Paramètre | Type |
| base | chaîne |
| cible | string (RegExp) |
| remplacement | chaîne |
replace(<base>,<target>,<replacement>)
Renvoie une chaîne.
replace("Hello World", "l", "x")
Renvoie « Hexlo World ».
Exemple avec RegExp :
Comme le paramètre cible est un RegExp, selon la chaîne que vous souhaitez remplacer, vous devrez peut-être ajouter une séquence d’échappement à certains caractères. Voici un exemple :
- chaîne à évaluer :
|OFFER_A|OFFER_B - fourni par un attribut de profil
#{ExperiencePlatform.myFieldGroup.profile.myOffers} - Chaîne à remplacer :
|OFFER_A - Chaîne remplacée par :
'' - Vous devez ajouter
\\avant le caractère|.
L’expression est la suivante :
replace(#{ExperiencePlatform.myFieldGroup.profile.myOffers}, '\\|OFFER_A', '')
La chaîne renvoyée est la suivante : |OFFER_B
Vous pouvez également créer la chaîne à remplacer à partir d’un attribut donné :
replace(#{ExperiencePlatform.myFieldGroup.profile.myOffers}, '\\|' + #{ExperiencePlatform.myFieldGroup.profile.myOfferCode}, '')
replaceAll replaceAll
Remplace toutes les occurrences correspondant à la chaîne cible par la chaîne de remplacement dans la chaîne de base.
Le remplacement s’effectue du début à la fin de la chaîne. Par exemple, le remplacement de « aa » par « b » dans la chaîne « aaa » donnera « ba » et non « ab ».
replaceAll(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Paramètre | Type |
| base | chaîne |
| cible | string (RegExp) |
| remplacement | chaîne |
replaceAll(<baseString>,<sourceString>,<replacementString>)
Renvoie une chaîne.
replaceAll("Hello World", "l", "x")
Renvoie « Hexxo Worxd ».
Comme le paramètre cible est un RegExp, selon la chaîne que vous souhaitez remplacer, vous devrez peut-être ajouter une séquence d’échappement à certains caractères. Reportez-vous à l’exemple de la fonction replace.
split split
Partage la première chaîne d’arguments avec une chaîne de séparateur (deuxième chaîne d’arguments, qui peut être une expression régulière) pour produire une liste de chaînes (jetons).
split(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| chaîne d’entrée | Chaîne |
| chaîne de séparateur | chaîne |
split(<input string>, <separator string>)
Renvoie une fonction listString.
split("A_B_C", "_")
Renvoie ["A","B","C"]
Exemple avec un champ d’événement ‘event.appVersion’ avec la valeur : « 20.45.2.3434 »
split(@event{event.appVersion}, "\\.")
Renvoie ["20", "45", "2", "3434"]
startWith startWith
Renvoie « true » si le deuxième paramètre est un préfixe du premier.
startWith(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| chaîne | Chaîne |
| préfixe | chaîne |
startWith(<string>,<string>)
Renvoie une valeur booléenne.
startWith("Hello World", "Hello")
Renvoie true.
startWith("Hello World", "World")
Renvoie false.
startWithIgnoreCase startWithIgnoreCase
Renvoie « true » si le deuxième paramètre est un préfixe du premier sans tenir compte de la casse.
startWithIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| chaîne | Chaîne |
| préfixe | chaîne |
startWithIgnoreCase(<string>,<string>)
Renvoie une valeur booléenne.
startWithIgnoreCase("rowing is great", "RO")
Renvoie true.
substr substr
Renvoie la sous-chaîne de l’expression sous forme de chaîne entre l’index de début et l’index de fin. Si l’index de fin n’est pas défini, il se trouve entre l’index de début et la fin.
substr(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Paramètre | type |
| string | Chaîne |
| beginIndex | nombre entier |
| endIndex | nombre entier |
substr(<string>,<beginIndex>)
substr(<string>,<beginIndex>,<endIndex>)
Renvoie une chaîne.
substr("Hello World",6)
Renvoie « World ».
substr("Hello World", 0, 5)
Renvoie « Hello ».
trim trim
Supprime les espaces de début et de fin.
trim(<parameters>)| table 0-row-2 1-row-2 | |
|---|---|
| Paramètre | Type |
| chaîne | Chaîne |
trim(<string>)
Renvoie une chaîne.
trim(" Hello ")
Renvoie « Hello ».
upper upper
Renvoie une version en majuscules du paramètre.
upper(<parameters>)upper(<string>)
Renvoie une chaîne.
upper("b")
Renvoie « B ».
uuid uuid
Génère un UUID (Universal Unique Identifier) aléatoire.
uuid()uuid()
Renvoie une chaîne.
uuid()
Renvoie « 79e70b7f-8a85-400b-97a1-9f9826121553 »
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.