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:
- Concatenar y combinar varios valores de texto (concat)
- Busque patrones de texto o subcadenas específicos (contain, containIgnoreCase, indexOf, lastIndexOf, matchRegExp)
- Comparar cadenas con coincidencia que distingue entre mayúsculas y minúsculas (equalIgnoreCase, notEqualIgnoreCase)
- La cadena de comprobación comienza y finaliza (startWith, startWithIgnoreCase, endWith, endWithIgnoreCase)
- Extraer partes de texto mediante operaciones de subcadena (substr)
- Transformar texto a mayúsculas o minúsculas (mayúsculas, minúsculas, recortar)
- Compruebe si las cadenas están vacías o contienen valores específicos (isEmpty, isNotEmpty)
- Reemplazar patrones de texto con nuevos valores (replace, replaceAll)
- Dividir cadenas en matrices para un procesamiento posterior (split)
- Obtener longitud de cadena (length) o generar identificadores únicos (uuid)
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.
concat(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parámetro | Tipo |
| Lista | listString |
| cadena | cadena |
concat(<string>,<string>)
concat(<listString>)
Devuelve una cadena.
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.
contain(<parameters>)- cadena
contain(<string>,<string>)
Devuelve un valor booleano.
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.
containIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parámetro | Tipo |
| cadena | cadena |
| cadena buscada | cadena |
containIgnoreCase(<string>,<string>)
Devuelve un valor booleano.
containIgnoreCase("rowing is great", "GREAT")
Devuelve verdadero.
endWith endWith
Devuelve true si el segundo parámetro es un sufijo del primero.
endWith(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parámetro | Tipo |
| cadena | cadena |
| sufijo | cadena |
endWith(<string>,<string>)
Devuelve un valor booleano.
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.
endWithIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parámetro | Tipo |
| cadena | cadena |
| sufijo | cadena |
endWithIgnoreCase(<string>,<string>)
Devuelve un valor booleano.
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.
equalIgnoreCase(<parameters>)- cadena
equalIgnoreCase(<string>,<string>)
Devuelve un valor booleano.
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.
indexOf(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parámetro | Tipo |
| cadena | Cadena |
| valor especificado | Cadena |
indexOf(<string>,<string>)
Devuelve un entero.
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.
isEmpty(<parameters>)- cadena
isEmpty(<string>)
Devuelve un valor booleano.
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.
isNotEmpty(<parameters>)- cadena
isNotEmpty(<string>)
Devuelve un valor booleano.
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.
lastIndexOf(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parámetro | Tipo |
| cadena | Cadena |
| valor especificado | Cadena |
lastIndexOf(<string>,<string>)
Devuelve un entero.
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.
length(<parameters>)- cadena
length(<string>)
Devuelve un entero.
length("Hello World")
Devuelve 11.
lower lower
Devuelve una versión en minúsculas del parámetro.
lower(<parameter>)- cadena
lower(<string>)
Devuelve una cadena.
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.
matchRegExp(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parámetro | Tipo |
| cadena | cadena |
| regexp | cadena |
matchRegExp(<string>,<string>)
Devuelve un valor booleano.
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.
notEqualIgnoreCase(<parameters>)- cadena
notEqualIgnoreCase(<string>,<string>)
Devuelve un valor booleano.
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”.
replace(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Parámetro | Tipo |
| basar | cadena |
| Target | cadena (RegExp) |
| reemplazo | cadena |
replace(<base>,<target>,<replacement>)
Devolver una cadena.
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”.
replaceAll(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Parámetro | Tipo |
| basar | cadena |
| Target | cadena (RegExp) |
| reemplazo | cadena |
replaceAll(<baseString>,<sourceString>,<replacementString>)
Devuelve una cadena.
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).
split(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parámetro | Tipo |
| cadena de entrada | cadena |
| cadena de separación | cadena |
split(<input string>, <separator string>)
Devuelve un valor listString.
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.
startWith(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parámetro | Tipo |
| cadena | cadena |
| prefijo | cadena |
startWith(<string>,<string>)
Devuelve un valor booleano.
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.
startWithIgnoreCase(<parameters>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parámetro | Tipo |
| cadena | cadena |
| prefijo | cadena |
startWithIgnoreCase(<string>,<string>)
Devuelve un valor booleano.
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.
substr(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Parámetro | tipo |
| cadena | cadena |
| beginIndex | entero |
| endIndex | entero |
substr(<string>,<beginIndex>)
substr(<string>,<beginIndex>,<endIndex>)
Devolver una cadena.
substr("Hello World",6)
Devuelve “World”.
substr("Hello World", 0, 5)
Devuelve “Hello”.
trim trim
Elimina los espacios iniciales y finales.
trim(<parameters>)| table 0-row-2 1-row-2 | |
|---|---|
| Parámetro | Tipo |
| cadena | cadena |
trim(<string>)
Devolver una cadena.
trim(" Hello ")
Devuelve “Hello”.
upper upper
Devuelve una versión en mayúsculas del parámetro.
upper(<parameters>)upper(<string>)
Devolver una cadena.
upper("b")
Devuelve “B”.
UUID uuid
Genera un UUID aleatorio (identificador único universal).
uuid()uuid()
Devuelve una cadena.
uuid()
Devuelve “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.