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:
- Concatenar e combinar vários valores de texto (concat)
- Pesquisar padrões ou subcadeias de texto específicos (contain, containIgnoreCase, indexOf, lastIndexOf, matchRegExp)
- Comparar cadeias de caracteres com correspondência que diferencia maiúsculas de minúsculas ou que não diferencia maiúsculas de minúsculas (equalIgnoreCase, notEqualIgnoreCase)
- A verificação da cadeia de caracteres inicia e termina (startWith, startWithIgnoreCase, endWith, endWithIgnoreCase)
- Extrair partes do texto usando operações de subcadeia de caracteres (substr)
- Transformar texto em maiúsculas ou minúsculas (upper, lower, trim)
- Verifique se as cadeias de caracteres estão vazias ou contêm valores específicos (isEmpty, isNotEmpty)
- Substituir padrões de texto por novos valores (replace, replaceAll)
- Dividir cadeias de caracteres em matrizes para processamento adicional (split)
- Obter comprimento da cadeia de caracteres (length) ou gerar identificadores exclusivos (uuid)
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.
concat(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parâmetro | Tipo |
| Lista | listString |
| sequência de caracteres | sequência de caracteres |
concat(<string>,<string>)
concat(<listString>)
Retorna uma string.
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.
contain(<parameters>)- sequência de caracteres
contain(<string>,<string>)
Retorna um valor booleano.
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.
containIgnoreCase(<parameters>)| 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 |
containIgnoreCase(<string>,<string>)
Retorna um valor booleano.
containIgnoreCase("rowing is great", "GREAT")
Retorna verdadeiro.
endWith endWith
Retornará true se o segundo parâmetro for um sufixo do primeiro.
endWith(<parameters>)| 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 |
endWith(<string>,<string>)
Retorna um valor booleano.
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.
endWithIgnoreCase(<parameters>)| 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 |
endWithIgnoreCase(<string>,<string>)
Retorna um valor booleano.
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.
equalIgnoreCase(<parameters>)- sequência de caracteres
equalIgnoreCase(<string>,<string>)
Retorna um valor booleano.
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.
indexOf(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parâmetro | Tipo |
| sequência de caracteres | String |
| valor especificado | String |
indexOf(<string>,<string>)
Retorna um inteiro.
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.
isEmpty(<parameters>)- sequência de caracteres
isEmpty(<string>)
Retorna um valor booleano.
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.
isNotEmpty(<parameters>)- sequência de caracteres
isNotEmpty(<string>)
Retorna um valor booleano.
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.
lastIndexOf(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parâmetro | Tipo |
| sequência de caracteres | String |
| valor especificado | String |
lastIndexOf(<string>,<string>)
Retorna um inteiro.
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.
length(<parameters>)- sequência de caracteres
length(<string>)
Retorna um inteiro.
length("Hello World")
Retorna 11.
lower lower
Retorna uma versão em minúsculas do parâmetro.
lower(<parameter>)- sequência de caracteres
lower(<string>)
Retorna uma string.
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.
matchRegExp(<parameters>)| 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 |
matchRegExp(<string>,<string>)
Retorna um valor booleano.
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.
notEqualIgnoreCase(<parameters>)- sequência de caracteres
notEqualIgnoreCase(<string>,<string>)
Retorna um valor booleano.
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”.
replace(<parameters>)| 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 |
replace(<base>,<target>,<replacement>)
Retorna uma string.
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”.
replaceAll(<parameters>)| 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 |
replaceAll(<baseString>,<sourceString>,<replacementString>)
Retorna uma string.
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).
split(<parameters>)| 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 |
split(<input string>, <separator string>)
Retorna uma listString.
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.
startWith(<parameters>)| 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 |
startWith(<string>,<string>)
Retornar um booleano.
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.
startWithIgnoreCase(<parameters>)| 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 |
startWithIgnoreCase(<string>,<string>)
Retornar um booleano.
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.
substr(<parameters>)| 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 |
substr(<string>,<beginIndex>)
substr(<string>,<beginIndex>,<endIndex>)
Retorna uma string.
substr("Hello World",6)
Retorna “Mundo”.
substr("Hello World", 0, 5)
Retorna “Olá”.
trim trim
Remove espaços iniciais e finais.
trim(<parameters>)| table 0-row-2 1-row-2 | |
|---|---|
| Parâmetro | Tipo |
| sequência de caracteres | sequência de caracteres |
trim(<string>)
Retorna uma string.
trim(" Hello ")
Retorna “Olá”.
upper upper
Retorna uma versão em maiúsculas do parâmetro.
upper(<parameters>)upper(<string>)
Retorna uma string.
upper("b")
Retorna “B”.
uuid uuid
Gera um UUID aleatório (Identificador exclusivo universal).
uuid()uuid()
Retorna uma string.
uuid()
Retorna “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.