Funciones de cadena string-functions

Las funciones de cadena permiten manipular y trabajar con valores de texto dentro de las expresiones de recorrido. Estas funciones son esenciales para el procesamiento de texto, la validación, la transformación y el análisis en los recorridos del cliente.

Utilice funciones de cadena cuando necesite:

Las funciones de cadena proporcionan funcionalidades completas de manipulación de texto, lo que permite un procesamiento de datos sofisticado y una lógica condicional basada en el contenido de texto de las expresiones de recorrido.

concatena concat

Concatena dos parámetros de cadena o una lista de cadenas.

Sintaxis
concat(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2
Parámetro Tipo
Lista listString
cadena cadena
Firma y tipo devuelto

concat(<string>,<string>)

concat(<listString>)

Devuelve una cadena.

Ejemplos

concat("Hello","World")

Devuelve “HelloWorld”.

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

Devuelve “Hello World”.

contain contain

Comprueba si la cadena del segundo argumento está contenida en la primera.

Sintaxis
contain(<parameters>)
Parámetros
  • cadena
Firma y tipo devuelto

contain(<string>,<string>)

Devuelve un valor booleano.

Ejemplos

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

Devuelve verdadero.

containIgnoreCase containIgnoreCase

Comprueba si la cadena del segundo argumento está contenida en la cadena del primer argumento, sin tener en cuenta el caso.

Sintaxis
containIgnoreCase(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2
Parámetro Tipo
cadena cadena
cadena buscada cadena
Firma y tipo devuelto

containIgnoreCase(<string>,<string>)

Devuelve un valor booleano.

Ejemplos

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

Devuelve verdadero.

endWith endWith

Devuelve true si el segundo parámetro es un sufijo del primero.

Sintaxis
endWith(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2
Parámetro Tipo
cadena cadena
sufijo cadena
Firma y tipo devuelto

endWith(<string>,<string>)

Devuelve un valor booleano.

Ejemplos

endWith("Hello World", "World")

Devuelve verdadero.

endWith("Hello World", "Hello")

Devuelve falso.

endWithIgnoreCase endWithIgnoreCase

Comprueba si la cadena del primer argumento termina con una cadena específica (cadena del segundo argumento), sin tener en cuenta el caso.

Sintaxis
endWithIgnoreCase(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2
Parámetro Tipo
cadena cadena
sufijo cadena
Firma y tipo devuelto

endWithIgnoreCase(<string>,<string>)

Devuelve un valor booleano.

Ejemplos

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

Devuelve verdadero.

equalIgnoreCase equalIgnoreCase

Compara la cadena del primer argumento con la cadena del segundo, ignorando las consideraciones de mayúsculas y minúsculas.

Sintaxis
equalIgnoreCase(<parameters>)
Parámetros
  • cadena
Firma y tipo devuelto

equalIgnoreCase(<string>,<string>)

Devuelve un valor booleano.

Ejemplos

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

Devuelve verdadero.

indexOf indexOf

Devuelve la posición (en el primer argumento) de la primera aparición del segundo parámetro. Devuelve -1 si no hay ninguna coincidencia.

Sintaxis
indexOf(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2
Parámetro Tipo
cadena Cadena
valor especificado Cadena
Firma y tipo devuelto

indexOf(<string>,<string>)

Devuelve un entero.

Ejemplos

indexOf("Hello", "l")

Devuelve 2.

Explicación:

En “Hello”, la primera aparición de “l” es en la posición 2.

isEmpty isEmpty

Devuelve true si la cadena del parámetro no tiene carácter.

Sintaxis
isEmpty(<parameters>)
Parámetros
  • cadena
Firma y tipo devuelto

isEmpty(<string>)

Devuelve un valor booleano.

Ejemplos

isEmpty("")

Devuelve verdadero.

isEmpty("Hello World")

Devuelve falso.

isEmpty(<null>)

Devuelve falso.

isNotEmpty isNotEmpty

Devuelve true si la cadena del parámetro no está vacía.

Sintaxis
isNotEmpty(<parameters>)
Parámetros
  • cadena
Firma y tipo devuelto

isNotEmpty(<string>)

Devuelve un valor booleano.

Ejemplos

isNotEmpty("")

Devuelve falso.

isNotEmpty("hello")

Devuelve verdadero.

lastIndexOf lastIndexOf

Devuelve la posición (en el primer argumento) de la última aparición del segundo parámetro. Devuelve -1 si no hay ninguna coincidencia.

Sintaxis
lastIndexOf(<parameters>)
Parámetro
table 0-row-2 1-row-2 2-row-2
Parámetro Tipo
cadena Cadena
valor especificado Cadena
Firma y tipo devuelto

lastIndexOf(<string>,<string>)

Devuelve un entero.

Ejemplos

lastIndexOf("Hello", "l")

Devuelve 3.

Explicación:

En “Hello”, la última ocurrencia de “l” está en la posición 3.

length length

Devuelve el número de caracteres de la expresión de cadena en el parámetro.

Sintaxis
length(<parameters>)
Parámetro
  • cadena
Firma y tipo devuelto

length(<string>)

Devuelve un entero.

Ejemplos

length("Hello World")

Devuelve 11.

lower lower

Devuelve una versión en minúsculas del parámetro.

Sintaxis
lower(<parameter>)
Parámetro
  • cadena
Firma y tipo devuelto

lower(<string>)

Devuelve una cadena.

Ejemplos

lower("A")

Devuelve “a”.

matchRegExp matchRegExp

Devuelve true si la cadena del primer parámetro coincide con la expresión regular del segundo parámetro. Para obtener más información, vea esta página.

Sintaxis
matchRegExp(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2
Parámetro Tipo
cadena cadena
regexp cadena
Firma y tipo devuelto

matchRegExp(<string>,<string>)

Devuelve un valor booleano.

Ejemplos

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

Devuelve verdadero.

notEqualIgnoreCase notEqualIgnoreCase

Compruebe si la cadena del primer argumento con la cadena del segundo argumento es diferente, ignorando las consideraciones de mayúsculas y minúsculas.

Sintaxis
notEqualIgnoreCase(<parameters>)
Parámetros
  • cadena
Firma y tipo devuelto

notEqualIgnoreCase(<string>,<string>)

Devuelve un valor booleano.

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

replace replace

Reemplaza la primera incidencia que coincida con la cadena de destino por la cadena de reemplazo de la cadena base.

La sustitución se realiza desde el principio de la cadena hasta el final, por ejemplo, si se sustituye “a” por “b” en la cadena “aaa”, el resultado será “ba” en lugar de “ab”.

Sintaxis
replace(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2 3-row-2
Parámetro Tipo
basar cadena
Target cadena (RegExp)
reemplazo cadena
Firma y tipo devuelto

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

Devolver una cadena.

Ejemplos

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

Devuelve “Mundo Hexlo”.

Ejemplo con RegExp:

Dado que el parámetro de destino es RegExp, en función de la cadena que desee reemplazar, es posible que tenga que omitir algunos caracteres. Vea el siguiente ejemplo:

  • cadena que evaluar: |OFFER_A|OFFER_B
  • proporcionado por un atributo de perfil #{ExperiencePlatform.myFieldGroup.profile.myOffers}
  • Cadena que reemplazar: |OFFER_A
  • Cadena reemplazada por: ''
  • Debe agregar \\ antes del carácter |.

La expresión es:

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

La cadena devuelta es: |OFFER_B

También puede generar la cadena que desea reemplazar desde un atributo determinado:

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

replaceAll replaceAll

Reemplaza todas las ocurrencias que coincidan con la cadena de destino por la cadena de reemplazo de la cadena base.

La sustitución se realiza desde el principio de la cadena hasta el final, por ejemplo, si se sustituye “a” por “b” en la cadena “aaa”, el resultado será “ba” en lugar de “ab”.

Sintaxis
replaceAll(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2 3-row-2
Parámetro Tipo
basar cadena
Target cadena (RegExp)
reemplazo cadena
Firma y tipo devuelto

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

Devuelve una cadena.

Ejemplos

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

Devuelve “Hexxo Worxd”.

Dado que el parámetro de destino es RegExp, en función de la cadena que desee reemplazar, es posible que tenga que omitir algunos caracteres. Consulte el ejemplo en la función replace.

split split

Divide la cadena del primer argumento con una cadena de separador (cadena del segundo argumento, que puede ser una expresión regular) para producir una lista de cadenas (tokens).

Sintaxis
split(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2
Parámetro Tipo
cadena de entrada cadena
cadena de separación cadena
Firmas y tipo devuelto

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

Devuelve un valor listString.

Ejemplos

split("A_B_C", "_")

Devuelve ["A","B","C"]

Ejemplo con un campo de evento “event.appVersion” con el valor: “20.45.2.3434”

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

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

startWith startWith

Devuelve true si el segundo parámetro es un prefijo del primero.

Sintaxis
startWith(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2
Parámetro Tipo
cadena cadena
prefijo cadena
Firma y tipo devuelto

startWith(<string>,<string>)

Devuelve un valor booleano.

Ejemplos

startWith("Hello World", "Hello")

Devuelve verdadero.

startWith("Hello World", "World")

Devuelve falso.

startWithIgnoreCase startWithIgnoreCase

Devuelve true si el segundo parámetro es un prefijo del primero sin tener en cuenta las mayúsculas y minúsculas.

Sintaxis
startWithIgnoreCase(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2
Parámetro Tipo
cadena cadena
prefijo cadena
Firma y tipo devuelto

startWithIgnoreCase(<string>,<string>)

Devuelve un valor booleano.

Ejemplos

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

Devuelve verdadero.

substr substr

Devuelve la subcadena de la expresión de cadena entre el índice inicial y el índice final. Si no se define el índice final, se encuentra entre el índice inicial y el final.

Sintaxis
substr(<parameters>)
Parámetros
table 0-row-2 1-row-2 2-row-2 3-row-2
Parámetro tipo
cadena cadena
beginIndex entero
endIndex entero
Firma y tipo devuelto

substr(<string>,<beginIndex>)

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

Devolver una cadena.

Ejemplos

substr("Hello World",6)

Devuelve “World”.

substr("Hello World", 0, 5)

Devuelve “Hello”.

trim trim

Elimina los espacios iniciales y finales.

Sintaxis
trim(<parameters>)
Parámetro
table 0-row-2 1-row-2
Parámetro Tipo
cadena cadena
Firma y tipo devuelto

trim(<string>)

Devolver una cadena.

Ejemplos

trim(" Hello ")

Devuelve “Hello”.

upper upper

Devuelve una versión en mayúsculas del parámetro.

Sintaxis
upper(<parameters>)
Firma y tipo devuelto

upper(<string>)

Devolver una cadena.

Ejemplos

upper("b")

Devuelve “B”.

UUID uuid

Genera un UUID aleatorio (identificador único universal).

Sintaxis
uuid()
Parámetros
Esta función no requiere parámetros.
Firma y tipo devuelto

uuid()

Devuelve una cadena.

Ejemplos

uuid()

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