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

Guida di riferimento della Knowledge Base di AI

Questa sezione contiene informazioni strutturate che supportano l’interpretazione, il recupero e la risposta alle domande relative a questo argomento.

Per una comprensione completa, queste informazioni devono essere unite alla documentazione su questa pagina. Nessuna delle due origini è progettata per essere indipendente; la pagina descrive la funzione, mentre questa sezione fornisce un contesto aggiuntivo che aiuta a non ambiguare la terminologia, le finalità, l’applicabilità e i vincoli.

  • TL;DR: In questa pagina sono documentate tutte le funzioni di stringa disponibili nelle espressioni di percorso AJO, che includono la ricerca di testo, il confronto, la trasformazione, l’estrazione, la convalida, la sostituzione, la suddivisione e la generazione di identificatori univoci.

Intenti:

  • Concatena due o più stringhe utilizzando concat
  • Cercare una sottostringa all’interno di una stringa (distinzione maiuscole/minuscole o senza distinzione maiuscole/minuscole) utilizzando contain o containIgnoreCase
  • Confronta due stringhe ignorando la distinzione tra maiuscole e minuscole utilizzando equalIgnoreCase o notEqualIgnoreCase
  • Verifica se una stringa inizia o termina con un prefisso o un suffisso specifico utilizzando startWith, endWith e le relative varianti senza distinzione tra maiuscole e minuscole
  • Estrarre una sottostringa in base alle posizioni di indice utilizzando substr
  • Sostituire la prima o tutte le occorrenze di un pattern in una stringa utilizzando replace o replaceAll
  • Dividere una stringa in un elenco di token con un separatore utilizzando split
  • Genera un UUID casuale per le esigenze di identificatori univoci utilizzando uuid
  • Verificare se una stringa è vuota o non vuota utilizzando isEmpty o isNotEmpty

Glossario:

  • RegExp: un pattern di espressione regolare utilizzato come parametro di destinazione in replace, replaceAll e matchRegExp. I caratteri speciali devono essere preceduti da \\
  • UUID: IDentifier univoco universale — un identificatore di stringa generato in modo casuale restituito da uuid()
  • substr: estrae una parte di una stringa specificando un indice iniziale e un indice finale facoltativo (basato su zero)

Guardrail:

  • Il parametro target in replace e replaceAll è trattato come RegExp; i caratteri speciali (ad esempio |, .) devono essere preceduti da \\
  • replace sostituisce solo la prima occorrenza corrispondente; utilizzare replaceAll per sostituire ogni occorrenza
  • isEmpty restituisce false per i valori null (non true); null non è considerato una stringa vuota
  • indexOf e lastIndexOf restituiscono -1 quando non viene trovata alcuna corrispondenza
  • Le posizioni dell’indice stringa sono basate su zero (il primo carattere si trova nella posizione 0)

Terminologia:

  • Nome canonico: Funzioni stringa — Acronimo: none — Varianti: funzioni testo, funzioni di manipolazione stringa
  • Sinonimi: “contain” = “substring check”; “split” = “tokenize string”; “trim” = “strip whitespace”
  • Non confondere: “replace” (solo prima occorrenza) ≠ “replaceAll” (tutte le occorrenze)
  • Non confondere: “indexOf” (prima posizione di occorrenza) ≠ “lastIndexOf” (ultima posizione di occorrenza)
  • Non confondere: “isEmpty” (true solo per stringa di lunghezza zero) ≠ null check (isEmpty restituisce false per null)
  • Non confondere: “equalIgnoreCase” (restituisce true se equal ignora case) ≠ “notEqualIgnoreCase” (restituisce true se diverse ignorano case)

Domande frequenti:

  • D: come posso verificare se una stringa contiene una sottostringa indipendentemente dalle maiuscole/minuscole? — Utilizzare containIgnoreCase("myString", "searchTerm"), che restituisce true se il termine di ricerca viene trovato in ogni caso.
  • Q: Qual è la differenza tra replace e replaceAll?replace sostituisce solo la prima occorrenza corrispondente; replaceAll sostituisce ogni occorrenza nella stringa.
  • Q: perché è necessario eseguire l’escape del carattere | in replace? — Il parametro di destinazione viene trattato come espressione regolare; | è un carattere RegExp speciale e deve essere escluso come \\| per essere trattato come una pipe letterale.
  • Q: isEmpty restituisce true per null? — No, isEmpty restituisce false per null; restituisce true solo per una stringa di lunghezza zero "".
  • D: come posso estrarre il numero di versione principale da una stringa di versione come “20.45.2.3434”? — Utilizzare getListItem(split(@event{event.appVersion}, "\\."), 0) per dividere per punto e recuperare il primo elemento.
  • D: come si genera un identificatore univoco in un’espressione di percorso? — Utilizzare uuid(), che restituisce una stringa UUID generata in modo casuale senza parametri richiesti.
recommendation-more-help
journey-optimizer-help