Skip to main content

Funciones de cadena

Una función de cadena realiza operaciones en datos de texto. Utiliza una función de cadena para limpiar datos, convertir datos a un formato diferente, cambiar mayúsculas y minúsculas, calcular métricas sobre los datos o realizar otras manipulaciones. Utiliza funciones de cadena solo con tipos de datos de cadena.

Contains

Contains (String, Target, CaseInsensitive = 1) : busca la ocurrencia de una cadena especifica dentro de una cadena. Devuelve verdadero si la cadena (String) contiene el objetivo (Target); si no, devuelve falso.

Ejemplo

Contains('123ABC', 'ABC') devuelve verdadero.

Contains('123ABC', 'abc') devuelve verdadero.

Contains('123ABC', 'abc', 0) devuelve falso.

CountWords

CountWords(string) : devuelve un conteo de las palabras en una cadena especificada. Las palabras son definidas por caracteres separados por un espacio.

Ejemplo

CountWords("Basic Variables Households") devuelve 3.

CountWords("Basic Variables Age:Female (Pop)Age 1") devuelve 5.

DecomposeUnicodeForMatch

DecomposeUnicodeForMatch(String) : elimina acentos y expande caracteres compuestos mientras convierte a cadena estrecha. Esta función toma un tipo de dato Alteryx WString y lo convierte en un tipo de dato de cadena estrecho y en minúsculas. Se quitan todos los acentos y otras decoraciones. Consulta Tipos de datos para obtener más información acerca de los tipos de datos de Alteryx.

Importante

Esta función es útil sólo para coincidencia. No se considera una cadena normalizada.

La función no está diseñada para usarse con conjuntos de caracteres no occidentales como el japonés. Debes evitar utilizar esta función en cadenas que puedan contener caracteres anchos y tener en cuenta que los caracteres anchos se convierten en ‘?’.

Ejemplo

DecomposeUnicodeForMatch("Prénoms français") devuelve prenoms francais.

EndsWith

EndsWith(String, Target, CaseInsensitive=1) : verifica si una cadena termina con una cadena determinada. Devuelve True si la cadena (String) termina con el objetivo (Target), de lo contrario devuelve False. De manera predeterminada, no distingue entre mayúsculas y minúsculas.

Ejemplo

EndsWith('123ABC', 'ABC') devuelve verdadero.

EndsWith('123ABC', 'abc') devuelve verdadero.

EndsWith('123ABC', 'abc', 0) devuelve falso.

FindNth

FindNth(Initial String, Target, Instance) : encuentra la instancia (ocurrencia enésima) de una cadena objetivo en la cadena inicial y genera la posición de la instancia con índice 0. La función distingue entre mayúsculas y minúsculas, y no acepta parámetros negativos.

Ejemplo

FindNth("Hello World","o",2) devuelve 7. La función encuentra la segunda instancia de “o” en la cadena proporcionada y devuelve la posición con índice 0, que en este caso es 7.

FindNth("Hello World","World",1) devuelve 6. La función encuentra la primera instancia de “World” en la cadena proporcionada y devuelve la posición con índice 0 del primer carácter, que en este caso es 6.

FindNth("Hello World","o",1.8) devuelve 7. La función encuentra la segunda instancia (redondea 1,8 al entero más cercano) de “o” en la cadena proporcionada y devuelve la posición con índice 0 del segundo carácter, que en este caso es 7.

FindNth("Hello World","world",1) devuelve -1. La función encuentra la primera instancia de “world” en la cadena proporcionada y devuelve la posición con índice 0 del primer carácter, que en este caso es -1 (no se encuentra la coincidencia debido a que se distingue entre mayúsculas y minúsculas).

FindNth("Hello World","l",0) devuelve -1. La función encuentra la instancia 0 de “l” en la cadena proporcionada y devuelve la posición con índice 0, que en este caso es -1 (no se encuentra, ya que la posición 0 no existe).

FindNth("Hello World","l",-1) devuelve -1. Los parámetros negativos no son aplicables, por lo que la función devuelve -1 (no se encuentra).

FindNth("Hello World", Null(), 1) devuelve -1. No se encuentran valores nulos y vacíos.

FindNth(Hello world, "l", 1) devuelve un error. La función requiere que los dos primeros parámetros sean cadenas.

FindString

Importante

La función FindString distingue entre mayúsculas y minúsculas.

FindString(String, Target) : busca la ocurrencia de un objetivo (Target) dentro de una cadena (String) y devuelve la posición numérica del objetivo dentro de la cadena.

Devuelve el índice de base 0 de la primera ocurrencia del objetivo (Target) en la cadena (String). Devuelve -1 si no hay ocurrencia.

Example

FindString([Name], "John") returns the 0-based index position of the first character of the target string if the provided string contains the target and returns -1 when the string does not.

  • FindString("John Smith", "John") returns 0. The first character ("J") of the target string "John" is in the 0 position of "John Smith."

  • FindString("Michael John Smith", "John") returns 8. The first character ("J") of the target string "John" is in the 8 position (0-based index) of "Michael John Smith."

  • FindString("David Smith", "John") returns -1. The target string "John" is not found in the string "David Smith."

GetLeft

GetLeft(String, Delimiter) : devuelve la parte izquierda de la cadena (String) proporcionada antes de la primera instancia de uno o más delimitadores (Delimiter) especificados.

Operador delimitador

Ten en cuenta que el operador Delimitador distingue entre mayúsculas y minúsculas. Si especificas “a” como delimitador, la función solo utiliza “a” como delimitador, no “A”.

Ejemplo

GetLeft("Automated Analytics for All", " ") devuelve "Automated".

GetLeft("Enable fast, confident decisions across the enterprise.", ",") devuelve "Enable fast".

GetPart

GetPart(String, Delimiter, Index) : utiliza un único delimitador (Delimiter) especificado o más para dividir la cadena (String) en subcadenas y devuelve la subcadena especificada en el índice (Index).

Operador delimitador

Ten en cuenta que el operador Delimitador distingue entre mayúsculas y minúsculas. Si especificas “a” como delimitador, la función solo utiliza “a” como delimitador, no “A”.

Esta función utiliza un índice basado en 0. Por ejemplo, si Index es 2, la función devuelve la cadena a partir de la posición en el índice 2, que es la tercera subcadena.

Ejemplo

GetPart("Automated Analytics for All", " ", 1) devuelve "Analytics".

GetPart("Automated Analytics for All", " ", 0) devuelve "Automated".

GetPart("Enable fast, confident decisions across the enterprise.", ", ", 5) devuelve "across". Ten en cuenta que este ejemplo utiliza 2 delimitadores: una coma y un espacio. La función divide la cadena cuando encuentra cualquiera de estos delimitadores.

GetPart("January 1, 2023", " ", 2) devuelve "2023".

GetRight

GetRight(String, Delimiter) : devuelve la parte derecha de la cadena (String) proporcionada después de la primera instancia de uno o más delimitadores (Delimiter) especificados.

Operador delimitador

Ten en cuenta que el operador Delimitador distingue entre mayúsculas y minúsculas. Si especificas “a” como delimitador, la función solo utiliza “a” como delimitador, no “A”.

Ejemplo

GetRight("Automated Analytics for All", " ") devuelve "Analytics for All".

GetRight("Enable fast, confident decisions across the enterprise.", ",") devuelve " confident decisions across the enterprise." (nota el espacio antes de confident en el resultado).

GetWord

GetWord(string, n) : devuelve la palabra en la posición n (con base 0) en la cadena (índice de base 0 significa que la primera palabra está en la posición 0, la segunda en la posición 1, y así sucesivamente). Las palabras se definen como una colección de caracteres separados por un espacio, una tabulación, un retorno o un carácter salto de línea. La presencia de varios delimitadores seguidos se trata como un solo delimitador.

Ejemplo

GetWord("Basic Variables Households", 0) devuelve "Basic".

GetWord("Basic Variables Households", 1) devuelve "Variables".

Left

Left(String, len) : devuelve los primeros caracteres (len) en la cadena (String). Si len es menor que 0 o mayor que la longitud de la cadena, la cadena permanece intacta.

Ejemplo

Left("92688", 3) devuelve el valor “926”.

Length

Length(String) : devuelve la longitud de la cadena (String).

Aviso

Los resultados de longitud pueden diferir entre esta función de Designer y las funciones de SQL. Esto depende de cómo una base de datos en particular maneja los caracteres anchos y los saltos de línea. Por ejemplo, los caracteres de nueva línea no se cuentan en Length en PostgreSQL mientras que sí se cuentan en la función Length de Designer, y los resultados en Designer pueden diferir dependiendo de si se utiliza el controlador ANSI o el Unicode.

Ejemplo

Length("92688") devuelve un valor de 5.

LowerCase

LowerCase(String) : convierte la cadena a texto en minúsculas.

Ejemplo

LowerCase("M1P 1G6") devuelve "m1p 1g6".

MD5_ASCII

MD5_ASCII(String) : calcula el hash MD5 de la cadena. Se espera que la cadena contenga solo caracteres estrechos. Los caracteres anchos se convierten en “?” antes de calcular el hash. Se utiliza para tipos de cadena (String); no se recomienda para tipos WString. Debes evitar utilizar esta función en cadenas que puedan contener caracteres anchos.

MD5_UNICODE

MD5_UNICODE(String) : para el motor original tanto como para AMP, calcula el hash MD5 de la cadena almacenada como UTF-16.

MD5_UTF8

MD5_UTF8(String) : calcula el hash MD5 de la cadena almacenada como UTF-8.

Ejemplo

Md5_Ascii("Lá") , almacenado como Latin1, toma 2 bytes, 4C E1. La función calcula el MD5 de los bytes, lo que da el resultado “0c0ee86cc87d87125ad8923562be952e”.

Md5_Ascii("Lá ☢") , el carácter ☢, que es ancho, se sustituye por un "?", así que es como si estuvieras calculando Md5_Ascii("Lá?"). Se almacena como Latin1 en 3 bytes, 4C E1 3F. La función calcula el MD5 de los bytes, lo que da el resultado “a5a308ab19acf900efea8fc7b5b77b4d”.

Md5_Unicode("Lá") , almacenado como UTF-16, toma 4 bytes, 4C 00 E1 00. La función calcula el MD5 de los bytes, resultando en "aa9969dfcca04249842cc457e5b3dd01".

Md5_Unicode("Lá ☢") , cuando se almacena como UTF-16 toma 8 bytes, 4C 00 E1 00 3C D8 C8 DF. La función calcula el MD5 de los bytes, lo que da el resultado “7c4762d93572dd02a8a405232e966b18”.

Md5_Utf8("Lá") , almacenado como UTF-8, toma 3 bytes, 4C C3 A1. La función calcula el MD5 de los bytes, resultando en "68f00289dc3be140b1dfd4e031d733f1".

Md5_Utf8("Lá ☢") , cuando se almacena como UTF-8 toma 7 bytes, 4C C3 A1 F0 9F 8F 88. La función calcula el MD5 de los bytes, lo que da el resultado “383fc0355db728a2078ce41a2ab6211b”.

PadLeft

PadLeft (String, len, char) : rellena la cadena hacia la izquierda con el carácter especificado a la longitud especificada. Si el relleno definido en (carácter) es más de un carácter, solo se usa el primer carácter.

Ejemplo

PadLeft("M", 4, "x") devuelve "xxxM".

PadRight

PadRight (String, len, char) : rellena la cadena hacia la derecha con el carácter especificado a la longitud especificada. Si el relleno definido en (carácter) es más de un carácter, solo se usa el primer carácter.

Ejemplo

PadRight("M", 4, "x") devuelve "Mxxx".

REGEX_CountMatches

REGEX_CountMatches(String,pattern,icase) : devuelve el conteo de coincidencias con el patrón dentro de la cadena.

icase es un parámetro opcional. Cuando se especifica, distingue mayúsculas y minúsculas. De manera predeterminada, icase = 1, lo cual significa que no se distingue entre mayúsculas y minúsculas. Si se establece en 0, distingue mayúsculas y minúsculas.

REGEX_Match

REGEX_Match(String,pattern,icase) : busca la ocurrencia de una expresión regular en una cadena.

Indica si la cadena coincide con el patrón desde el primer carácter hasta el final.

  • Para buscar algo que no necesariamente comience al principio de la cadena, comienza el patrón con '.*'.

  • Para buscar algo que no necesariamente va hasta el final de la cadena, termina el patrón con '.*'.

icase es un parámetro opcional. Cuando se especifica, distingue mayúsculas y minúsculas. De manera predeterminada, icase = 1, lo cual significa que no se distingue entre mayúsculas y minúsculas. Si se establece en 0, distingue mayúsculas y minúsculas.

Ejemplo

REGEX_Match("123-45-6789", "\d{3}-\d{2}-\d{4}") devuelve -1 (verdadero).

REGEX_Replace

REGEX_Replace(String, pattern, replace, icase) : permite reemplazar texto mediante expresiones regulares y devuelve la cadena resultante de la función RegEx de buscar (pattern) y reemplazar (string). Todas las ocurrencias de las coincidencias se remplazan, no sólo las primeras.

El parámetro “replace” puede ser un valor especificado, como se muestra a continuación, o un grupo marcado, como “$1”. Asegúrate de que los grupos marcados estén entre comillas dobles.

icase es un parámetro opcional. Cuando se especifica, distingue mayúsculas y minúsculas.

  • De manera predeterminada, icase=1, que significa que no distingue mayúsculas y minúsculas.

  • Si se establece en 0, distingue mayúsculas y minúsculas.

Ejemplo

REGEX_Replace("Don't reveal your Social Security number, 123-45-6789","\d{3}-\d{2}-\d{4}", "CLASSIFIED") devuelve "Don't reveal your Social Security number, CLASSIFIED".

REGEX_Replace("Change all domain names from alteryx@Alteryx.com","@.*\.", "@extendthereach.") devuelve "Change all domain names from alteryx@extendthereach.com".

REGEX_Replace("25 test","(\d+)\s.*","$1") devuelve 25.

Replace

Replace(String, Target, Replacement) : devuelve la cadena (String) después de reemplazar cada ocurrencia de la cadena (Target) por la cadena (Replacement).

Ejemplo

Replace("Good judgment comes from experience", "experience", "awareness") devuelve "Good judgment comes from awareness".

ReplaceChar

ReplaceChar(String, y, z) : devuelve la cadena (String) después de reemplazar cada ocurrencia del carácter (y) por el carácter (z). Si el carácter de reemplazo (z) es una cadena con más de un carácter, sólo se utiliza el primer carácter. Si (z) está vacío, se elimina cualquier carácter de la cadena (String) que coincida con cualquier carácter (y).

Ejemplo

ReplaceChar("abcdefb", "b", "_") devuelve "a_cdef_".

ReplaceChar("@a#b%c", "@,#,%", "_") devuelve "_a_b_c".

ReplaceFirst

ReplaceFirst(String, Target, Replacement) : devuelve la cadena (String) después de reemplazar la primera ocurrencia del objetivo (Target) por la cadena de reemplazo (Replacement).

Ejemplo

ReplaceFirst("abcdefb", "b", "_") devuelve "a_cdefb".

ReverseString

ReverseString(String) : invierte todos los caracteres de la cadena.

Ejemplo

ReverseString("abcdefb") devuelve "bfedcba".

Right

Right(String, len) : devuelve los últimos caracteres (len) de la cadena. Si len es menor que 0 o mayor que la longitud de la cadena, la cadena permanece intacta.

Ejemplo

Right("92688", 3) devuelve un valor de “688”.

StartsWith

StartsWith(String, Target, CaseInsensitive=1) : comprueba si una cadena comienza con una cadena determinada. Devuelve verdadero si la cadena (String) comienza con el objetivo (Target) determinado; si no, devuelve falso.

Ejemplo

StartsWith('ABC123', 'ABC') devuelve verdadero.

StartsWith('ABC123', 'abc') devuelve verdadero.

StartsWith('ABC123', 'abc', 0) devuelve falso.

STRCSPN

STRCSPN(String, y) : devuelve la longitud del segmento inicial de la cadena (String) que consiste en caracteres que no están en (y).

Ejemplo

STRCSPN("Bob's Amaco", "~!@#$%^&*'()") devuelve 3. Esta es una prueba útil para asegurarse de que no hay puntuación en la cadena.

StripQuotes

StripQuotes(String) : elimina un conjunto coincidente de comillas o apóstrofos de los extremos de la cadena.

Ejemplo

StripQuotes("Hello there") devuelve Hello there.

StripQuotes("'Hello there,' she said.") devuelve 'Hello there,' she said.

StripQuotes('"Hello there," she said.') devuelve "Hello there," she said.

STRSPN

STRSPN(String, y) : devuelve la longitud del segmento inicial de la cadena (String) que consta de caracteres en la cadena (y).

Ejemplo

STRSPN("3034408896x105", "0123456789") devuelve 10. Esta es una prueba útil para asegurarse de que una cadena tiene de un conjunto de caracteres.

Substring

Substring(String, start, length) : devuelve la subcadena de la cadena (String) comenzando en (start) y parando después de (length), si se proporciona.

Ejemplo

Substring("949-222-4356", 4, 8) devuelve "222-4356".

Substring("949-222-4356", 4, 6) devuelve "222-43".

Substring("949-222-4356", 4) devuelve "222-4356".

TitleCase

TitleCase(String) : convierte la primera letra de cada palabra de la cadena en mayúscula.

Ejemplo

TitleCase("john smith") devuelve "John Smith".

Trim

Trim(String, y) : elimina los caracteres de (y) de los extremos de la cadena (String). (y) es opcional y predeterminado a recortar espacios en blanco. Nota que en los ejemplos de la función Trim, los caracteres especificados se recortan. No importa en qué orden estén los caracteres.

Ejemplo

Trim("!ver instrucciones!!!", "!") devuelve “ver instrucciones”.

Trim(" Test123 ") devuelve "Test123".

TrimLeft

TrimLeft(String, y) : elimina el carácter en la cadena (y) del principio de la cadena (String). (y) es opcional y predeterminado a recortar espacios en blanco.

Ejemplo

TrimLeft("** special invitation ", " *") devuelve "special invitation ".

TrimRight

TrimRight(String, y) : elimina el carácter en la cadena (y) del final de la cadena (String). (y) es opcional y predeterminado a recortar espacios en blanco.

Aunque tú quieras recortar caracteres de una cadena en un conjunto en orden, la función Trim no respeta el orden de los caracteres y trata la cadena como una simple lista. Por lo tanto, recorta TODOS los caracteres especificados en la lista. Si quieres reemplazar una cadena, utiliza una función Replace o una función RegEx en la expresión.

Ejemplo

TrimRight("John Smith ") devuelve "John Smith".

TrimRight("John Smith**","*") devuelve "John Smith".

Uppercase

Uppercase(String) : convierte una cadena a mayúsculas.

Ejemplo

Uppercase(“Juan Pérez”) devuelve “JUAN PÉREZ”.

Uuid

UuidCreate() : crea un identificador único.

Ejemplo

UuidCreate() devuelve un valor único como ba131836-1ba3-4d42-8f7e-b81a99c2e838.

Acerca de longitud y cadenas

Cuando se hace referencia a la longitud de una cadena, el primer carácter se cuenta como 1 (la longitud de la cadena "registro" es 8).

Sin embargo, cuando se hace referencia a la posición del carácter dentro de una cadena, las posiciones son contadas entre los caracteres. Así que piensa en la posición del primer carácter como 0. Por lo tanto, la letra "g" en la cadena "registro" está en la posición 2.