Funzioni stringa string-functions
Le funzioni stringa consentono di manipolare e utilizzare valori di testo all’interno delle espressioni di percorso. Queste funzioni sono essenziali per l’elaborazione, la convalida, la trasformazione e l’analisi del testo nei percorsi del cliente.
Utilizza le funzioni stringa quando devi:
- Concatena e combina più valori di testo (concat)
- Cerca pattern o sottostringhe di testo specifiche (contain, containIgnoreCase, indexOf, lastIndexOf, matchRegExp)
- Confronta le stringhe con corrispondenza con distinzione tra maiuscole e minuscole o senza distinzione tra maiuscole e minuscole (equalIgnoreCase, notEqualIgnoreCase)
- Controlla se la stringa inizia e termina (startWith, startWithIgnoreCase, endWith, endWithIgnoreCase)
- Estrai parti di testo utilizzando operazioni di sottostringa (substr)
- Trasforma il testo in maiuscolo o minuscolo (upper, lower, trim)
- Verifica se le stringhe sono vuote o contengono valori specifici (isEmpty, isNotEmpty)
- Sostituisci modelli di testo con nuovi valori (replace, replaceAll)
- Dividi le stringhe in matrici per ulteriore elaborazione (split)
- Ottieni la lunghezza della stringa (lunghezza) o genera identificatori univoci (uuid)
Le funzioni stringa forniscono funzionalità complete di manipolazione del testo, consentendo un’elaborazione sofisticata dei dati e una logica condizionale basata sul contenuto di testo nelle espressioni di percorso.
concatena concat
Concatena due parametri di stringa o un elenco di stringhe.
concat(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Tipo |
| Elenco | listString |
| stringa | stringa |
concat(<string>,<string>)
concat(<listString>)
Restituisce una stringa.
concat("Hello","World")
Restituisce “HelloWorld”.
concat(["Hello"," ","World"])
Restituisce “Hello World”.
contain contain
Controlla se la seconda stringa di argomento è contenuta nella prima stringa di argomento.
contain(<parameters>)- stringa
contain(<string>,<string>)
Restituisce un valore booleano.
contain("rowing is great", "great")
Restituisce true.
containIgnoreCase containIgnoreCase
Controlla se la seconda stringa di argomento è contenuta nella prima stringa di argomento, senza tenere conto della distinzione tra maiuscole e minuscole.
containIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Tipo |
| stringa | stringa |
| stringa cercata | stringa |
containIgnoreCase(<string>,<string>)
Restituisce un valore booleano.
containIgnoreCase("rowing is great", "GREAT")
Restituisce true.
endWith endWith
Restituisce true se il secondo parametro è un suffisso del primo.
endWith(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Tipo |
| stringa | stringa |
| suffisso | stringa |
endWith(<string>,<string>)
Restituisce un valore booleano.
endWith("Hello World", "World")
Restituisce true.
endWith("Hello World", "Hello")
Restituisce false.
endWithIgnoreCase endWithIgnoreCase
Controlla se la stringa del primo argomento termina con una stringa specifica (stringa del secondo argomento), senza tenere conto delle maiuscole/minuscole.
endWithIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Tipo |
| stringa | stringa |
| suffisso | stringa |
endWithIgnoreCase(<string>,<string>)
Restituisce un valore booleano.
endWithIgnoreCase("rowing is great", "AT")
Restituisce true.
equalIgnoreCase equalIgnoreCase
Confronta la prima stringa di argomento con la seconda stringa di argomento, ignorando le considerazioni relative alle maiuscole/minuscole.
equalIgnoreCase(<parameters>)- stringa
equalIgnoreCase(<string>,<string>)
Restituisce un valore booleano.
equalIgnoreCase("rowing is great", "rowing is GREAT")
Restituisce true.
indexOf indexOf
Restituisce la posizione della prima occorrenza del secondo parametro nel primo argomento. Restituisce -1 se non viene trovata alcuna corrispondenza.
indexOf(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Tipo |
| stringa | Stringa |
| valore specificato | Stringa |
indexOf(<string>,<string>)
Restituisce un numero intero.
indexOf("Hello", "l")
Restituisce 2.
Spiegazione:
In “Hello”, la prima occorrenza di “l” è nella posizione 2.
IsEmpty isEmpty
Restituisce true se la stringa nel parametro non contiene alcun carattere.
isEmpty(<parameters>)- stringa
isEmpty(<string>)
Restituisce un valore booleano.
isEmpty("")
Restituisce true.
isEmpty("Hello World")
Restituisce false.
isEmpty(<null>)
Restituisce false.
isNotEmpty isNotEmpty
Restituisce true se la stringa nel parametro non è vuota.
isNotEmpty(<parameters>)- stringa
isNotEmpty(<string>)
Restituisce un valore booleano.
isNotEmpty("")
Restituisce false.
isNotEmpty("hello")
Restituisce true.
lastIndexOf lastIndexOf
Restituisce la posizione (nel primo argomento) dell’ultima occorrenza del secondo parametro. Restituisce -1 se non viene trovata alcuna corrispondenza.
lastIndexOf(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Tipo |
| stringa | Stringa |
| valore specificato | Stringa |
lastIndexOf(<string>,<string>)
Restituisce un numero intero.
lastIndexOf("Hello", "l")
Restituisce 3.
Spiegazione:
In “Hello”, l’ultima occorrenza di “l” è nella posizione 3.
lunghezza length
Restituisce il numero di caratteri dell’espressione stringa nel parametro.
length(<parameters>)- stringa
length(<string>)
Restituisce un numero intero.
length("Hello World")
Restituisce 11.
lower lower
Restituisce una versione in minuscolo del parametro.
lower(<parameter>)- stringa
lower(<string>)
Restituisce una stringa.
lower("A")
Restituisce “a”.
matchRegExp matchRegExp
Restituisce true se la stringa nel primo parametro corrisponde all’espressione regolare nel secondo parametro. Per ulteriori informazioni, vedere questa pagina.
matchRegExp(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Tipo |
| stringa | stringa |
| regexp | stringa |
matchRegExp(<string>,<string>)
Restituisce un valore booleano.
matchRegExp("12345", "\\d+")
Restituisce true.
notEqualIgnoreCase notEqualIgnoreCase
Verificare se la prima stringa di argomento con la seconda stringa di argomento è diversa, ignorando le considerazioni relative alle maiuscole e minuscole.
notEqualIgnoreCase(<parameters>)- stringa
notEqualIgnoreCase(<string>,<string>)
Restituisce un valore booleano.
notEqualIgnoreCase(@event{iOSPushPermissionAllowed.device.model}, "iPad")replace replace
Sostituisce la prima occorrenza corrispondente alla stringa di destinazione con la stringa di sostituzione nella stringa di base.
La sostituzione procede dall’inizio della stringa alla fine, ad esempio, sostituendo “aa” con “b” nella stringa “aaa” si otterrà “ba” invece di “ab”.
replace(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Parametro | Tipo |
| base | stringa |
| target | stringa (RegExp) |
| sostituzione | stringa |
replace(<base>,<target>,<replacement>)
Restituisce una stringa.
replace("Hello World", "l", "x")
Restituisce “Hexlo World”.
Esempio con RegExp:
Poiché il parametro di destinazione è un RegExp, a seconda della stringa che si desidera sostituire, potrebbe essere necessario eseguire l’escape di alcuni caratteri. Ecco un esempio:
- stringa da valutare:
|OFFER_A|OFFER_B - fornito da un attributo di profilo
#{ExperiencePlatform.myFieldGroup.profile.myOffers} - Stringa da sostituire:
|OFFER_A - Stringa sostituita da:
'' - Aggiungere
\\prima del carattere|.
L’espressione è:
replace(#{ExperiencePlatform.myFieldGroup.profile.myOffers}, '\\|OFFER_A', '')
La stringa restituita è: |OFFER_B
Puoi anche creare la stringa da sostituire da un dato attributo:
replace(#{ExperiencePlatform.myFieldGroup.profile.myOffers}, '\\|' + #{ExperiencePlatform.myFieldGroup.profile.myOfferCode}, '')
replaceAll replaceAll
Sostituisce tutte le occorrenze che corrispondono alla stringa di destinazione con la stringa di sostituzione nella stringa di base.
La sostituzione procede dall’inizio della stringa alla fine, ad esempio, sostituendo “aa” con “b” nella stringa “aaa” si otterrà “ba” invece di “ab”.
replaceAll(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Parametro | Tipo |
| base | stringa |
| target | stringa (RegExp) |
| sostituzione | stringa |
replaceAll(<baseString>,<sourceString>,<replacementString>)
Restituisce una stringa.
replaceAll("Hello World", "l", "x")
Restituisce “Hexxo Worxd”.
Poiché il parametro di destinazione è un RegExp, a seconda della stringa che si desidera sostituire, potrebbe essere necessario eseguire l’escape di alcuni caratteri. Consulta l’esempio nella funzione replace.
split split
Divide la prima stringa di argomento con una stringa di separatore (seconda stringa di argomento, che può essere un’espressione regolare) per produrre un elenco di stringhe (token).
split(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Tipo |
| stringa di input | stringa |
| stringa separatore | stringa |
split(<input string>, <separator string>)
Restituisce un valore listString.
split("A_B_C", "_")
Restituisce ["A","B","C"]
Esempio con un campo evento “event.appVersion” con valore: “20.45.2.3434”
split(@event{event.appVersion}, "\\.")
Restituisce ["20", "45", "2", "3434"]
startWith startWith
Restituisce true se il secondo parametro è un prefisso del primo.
startWith(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Tipo |
| stringa | stringa |
| prefisso | stringa |
startWith(<string>,<string>)
Restituisce un valore booleano.
startWith("Hello World", "Hello")
Restituisce true.
startWith("Hello World", "World")
Restituisce false.
startWithIgnoreCase startWithIgnoreCase
Restituisce true se il secondo parametro è un prefisso del primo senza considerare la distinzione tra maiuscole e minuscole.
startWithIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parametro | Tipo |
| stringa | stringa |
| prefisso | stringa |
startWithIgnoreCase(<string>,<string>)
Restituisce un valore booleano.
startWithIgnoreCase("rowing is great", "RO")
Restituisce true.
substr substr
Restituisce la sottostringa dell’espressione stringa tra l’indice iniziale e l’indice finale. Se l’indice finale non è definito, si trova tra l’indice iniziale e la fine.
substr(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Parametro | tipo |
| stringa | stringa |
| beginIndex | intero |
| endIndex | intero |
substr(<string>,<beginIndex>)
substr(<string>,<beginIndex>,<endIndex>)
Restituisce una stringa.
substr("Hello World",6)
Restituisce “World”.
substr("Hello World", 0, 5)
Restituisce “Hello”.
trim trim
Rimuove gli spazi iniziali e finali.
trim(<parameters>)| table 0-row-2 1-row-2 | |
|---|---|
| Parametro | Tipo |
| stringa | stringa |
trim(<string>)
Restituisce una stringa.
trim(" Hello ")
Restituisce “Hello”.
upper upper
Restituisce una versione in maiuscolo del parametro.
upper(<parameters>)upper(<string>)
Restituisce una stringa.
upper("b")
Restituisce “B”.
uuid uuid
Genera un UUID (Universal Unique IDentifier) casuale.
uuid()uuid()
Restituisce una stringa.
uuid()
Restituisce “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.