Funções de strings string-functions

As funções de string permitem manipular e trabalhar com valores de texto nas expressões de jornada. Essas funções são essenciais para o processamento, validação, transformação e análise de texto nas jornadas do cliente.

Use funções de string quando precisar:

As funções de sequência fornecem recursos abrangentes de manipulação de texto, permitindo um processamento sofisticado de dados e uma lógica condicional baseada no conteúdo do texto nas expressões de jornada.

concat concat

Concatena dois parâmetros de string ou uma lista de strings.

Sintaxe
concat(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2
Parâmetro Tipo
Lista listString
sequência de caracteres sequência de caracteres
Assinatura e tipo retornado

concat(<string>,<string>)

concat(<listString>)

Retorna uma string.

Exemplos

concat("Hello","World")

Retorna “HelloWorld”.

concat(["Hello"," ","World"])

Retorna “Olá, Mundo”.

contain contain

Verifica se a segunda cadeia de caracteres do argumento está contida na primeira cadeia de caracteres do argumento.

Sintaxe
contain(<parameters>)
Parâmetros
  • sequência de caracteres
Assinatura e tipo retornado

contain(<string>,<string>)

Retorna um valor booleano.

Exemplos

contain("rowing is great", "great")

Retorna verdadeiro.

containIgnoreCase containIgnoreCase

Verifica se a segunda cadeia de caracteres do argumento está contida na primeira cadeia de caracteres do argumento, sem levar em conta maiúsculas e minúsculas.

Sintaxe
containIgnoreCase(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2
Parâmetro Tipo
sequência de caracteres sequência de caracteres
sequência de caracteres pesquisada sequência de caracteres
Assinatura e tipo retornado

containIgnoreCase(<string>,<string>)

Retorna um valor booleano.

Exemplos

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

Retorna verdadeiro.

endWith endWith

Retornará true se o segundo parâmetro for um sufixo do primeiro.

Sintaxe
endWith(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2
Parâmetro Tipo
sequência de caracteres sequência de caracteres
sufixo sequência de caracteres
Assinatura e tipo retornado

endWith(<string>,<string>)

Retorna um valor booleano.

Exemplos

endWith("Hello World", "World")

Retorna verdadeiro.

endWith("Hello World", "Hello")

Retorna falso.

endWithIgnoreCase endWithIgnoreCase

Verifica se a primeira sequência de argumento termina com uma sequência específica (segunda sequência de argumento), sem levar em conta maiúsculas e minúsculas.

Sintaxe
endWithIgnoreCase(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2
Parâmetro Tipo
sequência de caracteres sequência de caracteres
sufixo sequência de caracteres
Assinatura e tipo retornado

endWithIgnoreCase(<string>,<string>)

Retorna um valor booleano.

Exemplos

endWithIgnoreCase("rowing is great", "AT")

Retorna verdadeiro.

equalIgnoreCase equalIgnoreCase

Compara a primeira sequência de argumento com a segunda sequência de argumento, ignorando considerações de maiúsculas e minúsculas.

Sintaxe
equalIgnoreCase(<parameters>)
Parâmetros
  • sequência de caracteres
Assinatura e tipo retornado

equalIgnoreCase(<string>,<string>)

Retorna um valor booleano.

Exemplos

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

Retorna verdadeiro.

indexOf indexOf

Retorna a posição (no primeiro argumento) da primeira ocorrência do segundo parâmetro. Retorna -1 se não houver correspondência.

Sintaxe
indexOf(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2
Parâmetro Tipo
sequência de caracteres String
valor especificado String
Assinatura e tipo retornado

indexOf(<string>,<string>)

Retorna um inteiro.

Exemplos

indexOf("Hello", "l")

Retorna 2.

Explicação:

Em “Olá”, a primeira ocorrência de “l” está na posição 2.

isEmpty isEmpty

Retornará true se a cadeia de caracteres no parâmetro não tiver caractere.

Sintaxe
isEmpty(<parameters>)
Parâmetros
  • sequência de caracteres
Assinatura e tipo retornado

isEmpty(<string>)

Retorna um valor booleano.

Exemplos

isEmpty("")

Retorna verdadeiro.

isEmpty("Hello World")

Retorna falso.

isEmpty(<null>)

Retorna falso.

isNotEmpty isNotEmpty

Retorna verdadeiro se a string no parâmetro não estiver vazia.

Sintaxe
isNotEmpty(<parameters>)
Parâmetros
  • sequência de caracteres
Assinatura e tipo retornado

isNotEmpty(<string>)

Retorna um valor booleano.

Exemplos

isNotEmpty("")

Retorna falso.

isNotEmpty("hello")

Retorna verdadeiro.

lastIndexOf lastIndexOf

Retorna a posição (no primeiro argumento) da última ocorrência do segundo parâmetro. Retorna -1 se não houver correspondência.

Sintaxe
lastIndexOf(<parameters>)
Parâmetro
table 0-row-2 1-row-2 2-row-2
Parâmetro Tipo
sequência de caracteres String
valor especificado String
Assinatura e tipo retornado

lastIndexOf(<string>,<string>)

Retorna um inteiro.

Exemplos

lastIndexOf("Hello", "l")

Retorna 3.

Explicação:

Em “Olá”, a última ocorrência de “l” está na posição 3.

comprimento length

Retorna o número de caracteres da expressão de cadeia de caracteres no parâmetro.

Sintaxe
length(<parameters>)
Parâmetro
  • sequência de caracteres
Assinatura e tipo retornado

length(<string>)

Retorna um inteiro.

Exemplos

length("Hello World")

Retorna 11.

lower lower

Retorna uma versão em minúsculas do parâmetro.

Sintaxe
lower(<parameter>)
Parâmetro
  • sequência de caracteres
Assinatura e tipo retornado

lower(<string>)

Retorna uma string.

Exemplos

lower("A")

Retorna “a”.

matchRegExp matchRegExp

Retornará true se a cadeia de caracteres no primeiro parâmetro corresponder à expressão regular no segundo parâmetro. Para obter mais informações, consulte esta página.

Sintaxe
matchRegExp(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2
Parâmetro Tipo
sequência de caracteres sequência de caracteres
regexp sequência de caracteres
Assinatura e tipo retornado

matchRegExp(<string>,<string>)

Retorna um valor booleano.

Exemplos

matchRegExp("12345", "\\d+")

Retorna verdadeiro.

notEqualIgnoreCase notEqualIgnoreCase

Verifique se a primeira string do argumento com a segunda string do argumento é diferente, ignorando as considerações sobre maiúsculas e minúsculas.

Sintaxe
notEqualIgnoreCase(<parameters>)
Parâmetros
  • sequência de caracteres
Assinatura e tipo retornado

notEqualIgnoreCase(<string>,<string>)

Retorna um valor booleano.

Exemplos
notEqualIgnoreCase(@event{iOSPushPermissionAllowed.device.model}, "iPad")

replace replace

Substitui a primeira ocorrência correspondente à string de destino pela string de substituição na string de base.

A substituição continua do início da string até o fim. Por exemplo, substituir “aa” por “b” na string “aaa” resultará em “ba” em vez de “ab”.

Sintaxe
replace(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2 3-row-2
Parâmetro Tipo
base sequência de caracteres
target string (RegExp)
substituição sequência de caracteres
Assinatura e tipo retornado

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

Retorna uma string.

Exemplos

replace("Hello World", "l", "x")

Retorna “Hexlo World”.

Exemplo com RegExp:

Como o parâmetro de destino é um RegExp, dependendo da cadeia de caracteres que você deseja substituir, talvez seja necessário usar escape em alguns caracteres. Exemplo:

  • cadeia de caracteres a ser avaliada: |OFFER_A|OFFER_B
  • fornecido por um atributo de perfil #{ExperiencePlatform.myFieldGroup.profile.myOffers}
  • Cadeia de caracteres a ser substituída: |OFFER_A
  • Cadeia de caracteres substituída por: ''
  • É necessário adicionar \\ antes do caractere |.

A expressão é:

replace(#{ExperiencePlatform.myFieldGroup.profile.myOffers}, '\\|OFFER_A', '')

A cadeia de caracteres retornada é: |OFFER_B

Também é possível criar a cadeia de caracteres a ser substituída a partir de um determinado atributo:

replace(#{ExperiencePlatform.myFieldGroup.profile.myOffers}, '\\|' + #{ExperiencePlatform.myFieldGroup.profile.myOfferCode}, '')

replaceAll replaceAll

Substitui todas as ocorrências correspondentes à cadeia de caracteres de destino pela cadeia de caracteres de substituição na cadeia de caracteres base.

A substituição continua do início da string até o fim. Por exemplo, substituir “aa” por “b” na string “aaa” resultará em “ba” em vez de “ab”.

Sintaxe
replaceAll(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2 3-row-2
Parâmetro Tipo
base sequência de caracteres
target string (RegExp)
substituição sequência de caracteres
Assinatura e tipo retornado

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

Retorna uma string.

Exemplos

replaceAll("Hello World", "l", "x")

Retorna “Hexxo Worxd”.

Como o parâmetro de destino é um RegExp, dependendo da cadeia de caracteres que você deseja substituir, talvez seja necessário usar escape em alguns caracteres. Consulte o exemplo na função replace.

split split

Divide a primeira sequência de argumento com uma sequência de separador (segunda sequência de argumento, que pode ser uma expressão regular) para produzir uma lista de sequências de caracteres (tokens).

Sintaxe
split(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2
Parâmetro Tipo
string de entrada sequência de caracteres
sequência de caracteres separadora sequência de caracteres
Assinaturas e tipo retornado

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

Retorna uma listString.

Exemplos

split("A_B_C", "_")

Retorna ["A","B","C"]

Exemplo com um campo de evento “event.appVersion” com valor: “20.45.2.3434”

split(@event{event.appVersion}, "\\.")

Retorna ["20", "45", "2", "3434"]

startWith startWith

Retornará true se o segundo parâmetro for um prefixo do primeiro.

Sintaxe
startWith(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2
Parâmetro Tipo
sequência de caracteres sequência de caracteres
prefixo sequência de caracteres
Assinatura e tipo retornado

startWith(<string>,<string>)

Retornar um booleano.

Exemplos

startWith("Hello World", "Hello")

Retorna verdadeiro.

startWith("Hello World", "World")

Retorna falso.

startWithIgnoreCase startWithIgnoreCase

Retornará true se o segundo parâmetro for um prefixo do primeiro sem considerar letras maiúsculas e minúsculas.

Sintaxe
startWithIgnoreCase(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2
Parâmetro Tipo
sequência de caracteres sequência de caracteres
prefixo sequência de caracteres
Assinatura e tipo retornado

startWithIgnoreCase(<string>,<string>)

Retornar um booleano.

Exemplos

startWithIgnoreCase("rowing is great", "RO")

Retorna verdadeiro.

substr substr

Retorna a subcadeia de caracteres da expressão de cadeia de caracteres entre o índice inicial e o índice final. Se o índice final não estiver definido, ele será entre o índice inicial e o final.

Sintaxe
substr(<parameters>)
Parâmetros
table 0-row-2 1-row-2 2-row-2 3-row-2
Parâmetro tipo
sequência de caracteres sequência de caracteres
beginIndex inteiro
endIndex inteiro
Assinatura e tipo retornado

substr(<string>,<beginIndex>)

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

Retorna uma string.

Exemplos

substr("Hello World",6)

Retorna “Mundo”.

substr("Hello World", 0, 5)

Retorna “Olá”.

trim trim

Remove espaços iniciais e finais.

Sintaxe
trim(<parameters>)
Parâmetro
table 0-row-2 1-row-2
Parâmetro Tipo
sequência de caracteres sequência de caracteres
Assinatura e tipo retornado

trim(<string>)

Retorna uma string.

Exemplos

trim(" Hello ")

Retorna “Olá”.

upper upper

Retorna uma versão em maiúsculas do parâmetro.

Sintaxe
upper(<parameters>)
Assinatura e tipo retornado

upper(<string>)

Retorna uma string.

Exemplos

upper("b")

Retorna “B”.

uuid uuid

Gera um UUID aleatório (Identificador exclusivo universal).

Sintaxe
uuid()
Parâmetros
Esta função não requer parâmetros.
Assinatura e tipo retornado

uuid()

Retorna uma string.

Exemplos

uuid()

Retorna “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