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:

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.

Sintassi
concat(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
Elenco listString
stringa stringa
Firma e tipo restituito

concat(<string>,<string>)

concat(<listString>)

Restituisce una stringa.

Esempi

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.

Sintassi
contain(<parameters>)
Parametri
  • stringa
Firma e tipo restituito

contain(<string>,<string>)

Restituisce un valore booleano.

Esempi

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.

Sintassi
containIgnoreCase(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
stringa stringa
stringa cercata stringa
Firma e tipo restituito

containIgnoreCase(<string>,<string>)

Restituisce un valore booleano.

Esempi

containIgnoreCase("rowing is great", "GREAT")

Restituisce true.

endWith endWith

Restituisce true se il secondo parametro è un suffisso del primo.

Sintassi
endWith(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
stringa stringa
suffisso stringa
Firma e tipo restituito

endWith(<string>,<string>)

Restituisce un valore booleano.

Esempi

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.

Sintassi
endWithIgnoreCase(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
stringa stringa
suffisso stringa
Firma e tipo restituito

endWithIgnoreCase(<string>,<string>)

Restituisce un valore booleano.

Esempi

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.

Sintassi
equalIgnoreCase(<parameters>)
Parametri
  • stringa
Firma e tipo restituito

equalIgnoreCase(<string>,<string>)

Restituisce un valore booleano.

Esempi

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.

Sintassi
indexOf(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
stringa Stringa
valore specificato Stringa
Firma e tipo restituito

indexOf(<string>,<string>)

Restituisce un numero intero.

Esempi

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.

Sintassi
isEmpty(<parameters>)
Parametri
  • stringa
Firma e tipo restituito

isEmpty(<string>)

Restituisce un valore booleano.

Esempi

isEmpty("")

Restituisce true.

isEmpty("Hello World")

Restituisce false.

isEmpty(<null>)

Restituisce false.

isNotEmpty isNotEmpty

Restituisce true se la stringa nel parametro non è vuota.

Sintassi
isNotEmpty(<parameters>)
Parametri
  • stringa
Firma e tipo restituito

isNotEmpty(<string>)

Restituisce un valore booleano.

Esempi

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.

Sintassi
lastIndexOf(<parameters>)
Parametro
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
stringa Stringa
valore specificato Stringa
Firma e tipo restituito

lastIndexOf(<string>,<string>)

Restituisce un numero intero.

Esempi

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.

Sintassi
length(<parameters>)
Parametro
  • stringa
Firma e tipo restituito

length(<string>)

Restituisce un numero intero.

Esempi

length("Hello World")

Restituisce 11.

lower lower

Restituisce una versione in minuscolo del parametro.

Sintassi
lower(<parameter>)
Parametro
  • stringa
Firma e tipo restituito

lower(<string>)

Restituisce una stringa.

Esempi

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.

Sintassi
matchRegExp(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
stringa stringa
regexp stringa
Firma e tipo restituito

matchRegExp(<string>,<string>)

Restituisce un valore booleano.

Esempi

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.

Sintassi
notEqualIgnoreCase(<parameters>)
Parametri
  • stringa
Firma e tipo restituito

notEqualIgnoreCase(<string>,<string>)

Restituisce un valore booleano.

Esempi
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”.

Sintassi
replace(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2 3-row-2
Parametro Tipo
base stringa
target stringa (RegExp)
sostituzione stringa
Firma e tipo restituito

replace(<base>,<target>,<replacement>)

Restituisce una stringa.

Esempi

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”.

Sintassi
replaceAll(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2 3-row-2
Parametro Tipo
base stringa
target stringa (RegExp)
sostituzione stringa
Firma e tipo restituito

replaceAll(<baseString>,<sourceString>,<replacementString>)

Restituisce una stringa.

Esempi

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).

Sintassi
split(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
stringa di input stringa
stringa separatore stringa
Firme e tipo restituito

split(<input string>, <separator string>)

Restituisce un valore listString.

Esempi

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.

Sintassi
startWith(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
stringa stringa
prefisso stringa
Firma e tipo restituito

startWith(<string>,<string>)

Restituisce un valore booleano.

Esempi

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.

Sintassi
startWithIgnoreCase(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
stringa stringa
prefisso stringa
Firma e tipo restituito

startWithIgnoreCase(<string>,<string>)

Restituisce un valore booleano.

Esempi

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.

Sintassi
substr(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2 3-row-2
Parametro tipo
stringa stringa
beginIndex intero
endIndex intero
Firma e tipo restituito

substr(<string>,<beginIndex>)

substr(<string>,<beginIndex>,<endIndex>)

Restituisce una stringa.

Esempi

substr("Hello World",6)

Restituisce “World”.

substr("Hello World", 0, 5)

Restituisce “Hello”.

trim trim

Rimuove gli spazi iniziali e finali.

Sintassi
trim(<parameters>)
Parametro
table 0-row-2 1-row-2
Parametro Tipo
stringa stringa
Firma e tipo restituito

trim(<string>)

Restituisce una stringa.

Esempi

trim(" Hello ")

Restituisce “Hello”.

upper upper

Restituisce una versione in maiuscolo del parametro.

Sintassi
upper(<parameters>)
Firma e tipo restituito

upper(<string>)

Restituisce una stringa.

Esempi

upper("b")

Restituisce “B”.

uuid uuid

Genera un UUID (Universal Unique IDentifier) casuale.

Sintassi
uuid()
Parametri
Questa funzione non richiede parametri.
Firma e tipo restituito

uuid()

Restituisce una stringa.

Esempi

uuid()

Restituisce “79e70b7f-8a85-400b-97a1-9f9826121553”.

AI Knowledge Reference

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 contain or containIgnoreCase
  • Compare two strings while ignoring case using equalIgnoreCase or notEqualIgnoreCase
  • 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 replace or replaceAll
  • 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 isEmpty or isNotEmpty

Glossary:

  • RegExp: A regular expression pattern used as the target parameter in replace, replaceAll, and matchRegExp — 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 target parameter in replace and replaceAll is treated as a RegExp; special characters (e.g., |, .) must be escaped with \\
  • replace replaces only the first matching occurrence; use replaceAll to replace every occurrence
  • isEmpty returns false for null values (not true); null is not considered an empty string
  • indexOf and lastIndexOf return -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 replace and replaceAll?replace substitutes only the first matching occurrence; replaceAll substitutes every occurrence in the string.
  • Q: Why do I need to escape the | character in replace? — 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 isEmpty return true for null? — No, isEmpty returns 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.
recommendation-more-help
journey-optimizer-help