Skip to main content

Funções de cadeia de caracteres

Uma função de cadeia de caracteres executa operações em dados de texto. Utilize uma função de cadeia de caracteres para limpar dados, converter dados a um formato diferente, modificar o uso de maiúsculas, calcular métricas sobre os dados ou executar outras manipulações. Use funções de cadeia de caracteres somente com tipos de dados de cadeia de caracteres (qualquer um dos tipos String).

Contains

Contains(String, Target, CaseInsensitive=1) : procura pela ocorrência de uma cadeia específica (Target) dentro de uma cadeia de caracteres (String). Retorna verdadeiro se a cadeia de caracteres (String) contém a sequência-alvo (Target); senão, retorna falso.

Exemplo

Contains('123ABC', 'ABC') retorna verdadeiro.

Contains('123ABC', 'abc') retorna verdadeiro.

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

CountWords

CountWords(string) : retorna a contagem das palavras na cadeia de caracteres especificada. Palavras são definidas por caracteres separados por um espaço.

Exemplo

CountWords("Basic Variables Households") retorna 3.

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

DecomposeUnicodeForMatch

DecomposeUnicodeForMatch(String) : remove acentos e expande caracteres compostos ao convertê-los para uma cadeia de caracteres estreita. Essa função pega dados do tipo WString do Alteryx e os converte para o tipo estreito String , com letras minúsculas. Todos os acentos e similares são removidos. Consulte Tipos de dados para obter mais informações sobre os tipos de dados do Alteryx.

Importante

Essa função é útil somente para correspondência. O resultado não é considerado uma cadeia normalizada.

A função não foi criada para ser usada com conjuntos de caracteres não ocidentais, como os japoneses. Evite usá-la em cadeias que possam conter caracteres largos (esses caracteres são convertidos para "?").

Exemplo

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

EndsWith

EndsWith(String, Target, CaseInsensitive=1) : verifica se uma cadeia de caracteres termina com a sequência-alvo especificada. Retorna verdadeiro se a cadeia de caracteres termina com a sequência-alvo; senão, retorna falso. Por padrão, não diferencia maiúsculas de minúsculas.

Exemplo

EndsWith('123ABC', 'ABC') retorna verdadeiro.

EndsWith('123ABC', 'abc') retorna verdadeiro.

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

FindNth

FindNth(Initial String, Target, Instance): Finds the instance (nth occurrence) of a target string in the initial string and returns the 0-indexed position of the instance. The function is case-sensitive and doesn’t accept negative parameters.

Example

FindNth("Hello World","o",2) returns 7. The function finds the 2nd instance of "o" in the provided string and returns the 0-indexed position, which in this case is 7.

FindNth("Hello World","World",1) returns 6. The function finds the 1st instance of "World" in the provided string and returns the 0-indexed position of the first character, which in this case is 6.

FindNth("Hello World","o",1.8) returns 7. The function finds the 2nd instance (rounds 1.8 to the nearest integer) of "o" in the provided string and returns the 0-indexed position of the 2nd character, which in this case is 7.

FindNth("Hello World","world",1) returns -1. The function finds the 1st instance of "world" in the provided string and returns the 0-indexed position of the first character, which in this case is -1 (match not found due to case sensitivity).

FindNth("Hello World","l",0) returns -1. The function finds the 0th instance of "l" in the provided string and returns the 0-indexed position, which in this case is -1 (not found because the 0th position doesn't exist).

FindNth("Hello World","l",-1) returns -1. Negative parameters are not applicable, so the function returns -1 (not found).

FindNth("Hello World", Null(), 1) returns -1. Null and empty are not found.

FindNth(Hello world, "l", 1) returns an error. The function requires that the first 2 parameters are strings.

FindString

Importante

A função FindString diferencia maiúsculas de minúsculas.

FindString(String, Target) : procura pela ocorrência de uma sequência-alvo em uma cadeia de caracteres e retorna a posição numérica dessa ocorrência.

Retorna o índice de base 0 da primeira ocorrência da sequência-alvo (Target) na cadeia de caracteres (String). Retorna -1 se não houver ocorrência.

Exemplo

FindString([Name], "John") retorna 0 quando a cadeia de caracteres começa com "John" e retorna -1 quando não começa.

IF (FINDSTRING([Name], "John") =0) THEN "John Smith" ELSE "Other" ENDIF retorna John Smith quando a cadeia de caracteres começa com "John" e retorna Other quando começa diferente.

GetLeft

GetLeft(String, Delimiter) : retorna a parte esquerda da cadeia de caracteres fornecida (String) até a primeira instância do delimitador ou delimitadores especificados (Delimiter).

Operador de delimitador

Observe que o operador Delimiter diferencia maiúsculas e minúsculas. Se você especificar "a" como o delimitador, a função usará apenas "a", não "A".

Exemplo

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

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

GetPart

GetPart(String, Delimiter, Index) : usa o delimitador ou delimitadores especificados (Delimiter) para dividir a cadeia de caracteres (String) em subcadeias, e retorna a subcadeia na posição em que é especificada no índice (Index).

Operador de delimitador

Observe que o operador Delimiter diferencia maiúsculas e minúsculas. Se você especificar "a" como o delimitador, a função usará apenas "a", não "A".

Essa função usa um índice de base 0. Por exemplo, se o índice for 2, a função retornará a cadeia de caracteres da posição no índice 2, que é a terceira subcadeia de caracteres.

Exemplo

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

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

GetPart("Enable fast, confident decisions across the enterprise.", ", ", 5) retorna "across". Observe que esse exemplo usa dois delimitadores: uma vírgula e um espaço. A função divide a cadeia de caracteres quando ela encontra qualquer um desses delimitadores.

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

GetRight

GetRight(String, Delimiter) : retorna a parte direita da cadeia de caracteres fornecida (String) após a primeira instância do delimitador ou delimitadores especificados (Delimiter).

Operador de delimitador

Observe que o operador Delimiter diferencia maiúsculas e minúsculas. Se você especificar "a" como o delimitador, a função usará apenas "a", não "A".

Exemplo

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

GetRight("Enable fast, confident decisions across the enterprise.", ",") retorna " confident decisions across the enterprise." (observe o espaço antes de confident no resultado).

GetWord

GetWord(string, n) : retorna a enésima palavra (base 0) na cadeia de caracteres (índice de base 0 significa que a primeira palavra está na posição 0, a segunda está na posição 1 e assim por diante). Palavras são definidas como um grupo de caracteres separados por um espaço, tabulação, retorno ou caractere de nova linha. Múltiplos delimitadores consecutivos são tratados como um único delimitador.

Exemplo

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

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

Left

Left(String, len) : retorna os primeiros caracteres (número determinado em len) da cadeia (String). Se len for menor que 0 ou maior que o comprimento da cadeia de caracteres, esta permanecerá inalterada.

Exemplo

Left("92688", 3) retorna o valor 926.

Length

Length(String) : retorna o comprimento da cadeia de caracteres.

Atenção

Os resultados de comprimento podem ser diferentes entre essa função do Designer e as funções SQL. Isso depende de como qualquer banco de dados específico lida com caracteres largos e quebras de linha. Por exemplo, os caracteres de nova linha não são contados em "Length" no PostgreSQL, enquanto são contados na função Length do Designer, e os resultados no Designer podem ser diferentes dependendo se um driver ANSI ou Unicode for usado.

Exemplo

Length("92688") retorna o valor 5.

LowerCase

LowerCase(String) : converte a cadeia de caracteres em letras minúsculas.

Exemplo

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

MD5_ASCII

MD5_ASCII(String) : calcula o hash MD5 da cadeia de caracteres. A cadeia de caracteres deve ter apenas caracteres estreitos. Caracteres largos são convertidos em "?" antes de calcular o hash. Use essa função para o tipo String, ela não é recomendada para o tipo WString. Evite usar essa função em cadeias de caracteres que possam conter caracteres largos.

MD5_UNICODE

MD5_UNICODE(String) : tanto para o motor original quanto para o AMP, calcula o hash MD5 da cadeia de caracteres armazenada como UTF-16.

MD5_UTF8

MD5_UTF8(String) : calcula o hash MD5 da cadeia de caracteres armazenada como UTF-8.

Exemplo

Md5_Ascii("Lá") , armazenado como Latin1, são necessários 2 bytes, 4C E1. A função calcula o MD5 dos bytes, fornecendo o resultado "0c0ee86cc87d87125ad8923562be952e".

Md5_Ascii("Lá ☢") , o caractere ☢, por ser largo, é substituído por "?". É como se você estivesse calculando Md5_Ascii("Lá?"). É armazenado como Latin1 em 3 bytes, 4C E1 3F. A função calcula o MD5 dos bytes, fornecendo o resultado "a5a308ab19acf900efea8fc7b5b77b4d".

Md5_Unicode("Lá") , armazenado como UTF-16, são necessários 4 bytes, 4C 00 E1 00. A função calcula o MD5 dos bytes, fornecendo o "aa9969dfcca04249842cc457e5b3dd01".

Md5_Unicode("Lá ☢") , quando armazenado como UTF-16, são necessários 8 bytes, 4C 00 E1 00 3C D8 C8 DF. A função calcula o MD5 dos bytes, fornecendo o resultado: "7c4762d93572dd02a8a405232e966b18".

Md5_Utf8("Lá") , armazenado como UTF-8, são necessários 3 bytes, 4C C3 A1. A função calcula o MD5 dos bytes, fornecendo o "68f00289dc3be140b1dfd4e031d733f1".

Md5_Utf8("Lá ☢") , quando armazenado como UTF-8, são necessários 7 bytes, 4C C3 A1 F0 9F 8F 88. A função calcula o MD5 dos bytes, fornecendo o resultado "383fc0355db728a2078ce41a2ab6211b".

PadLeft

PadLeft (String, len, char) : preenche o lado esquerdo da cadeia de caracteres (String) com o caractere especificado (char) até o comprimento especificado (len). Se o preenchimento definido em char for maior do que um caractere, somente o primeiro caractere será usado.

Exemplo

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

PadRight

PadRight (String, len, char) : preenche o lado direito da cadeia de caracteres (String) com o caractere especificado (char) até o comprimento especificado (len). Se o preenchimento definido em char for maior do que um caractere, somente o primeiro caractere será usado.

Exemplo

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

REGEX_CountMatches

REGEX_CountMatches(String,pattern,icase) : retorna quantas vezes a cadeia de caracteres (String) corresponde ao padrão especificado (pattern).

O parâmetro icase é opcional. Quando especificado, há diferenciação entre maiúsculas e minúsculas. Por padrão, icase = 1, sem diferenciar maiúsculas de minúsculas. Quando definido como 0, há diferenciação.

REGEX_Match

REGEX_Match(String,pattern,icase) : procura, em uma cadeia de caracteres (String), a ocorrência de um padrão de expressão regular (pattern).

Informa se a cadeia de caracteres coincide com o padrão do primeiro ao último caractere.

  • Para procurar por algo que não está necessariamente no início da cadeia de caracteres, inicie o padrão com ".*".

  • Para procurar por algo que não vai necessariamente até o final da cadeia de caracteres, termine o padrão com ".*".

O parâmetro icase é opcional. Quando especificado, há diferenciação entre maiúsculas e minúsculas. Por padrão, icase = 1, sem diferenciar maiúsculas de minúsculas. Quando definido como 0, há diferenciação.

Exemplo

REGEX_Match("123-45-6789", "\d{3}-\d{2}-\d{4}") retorna -1 ou verdadeiro.

REGEX_Replace

REGEX_Replace(String, pattern, replace, icase) : permite substituir texto usando expressões regulares e retorna a cadeia de caracteres resultante das funções RegEx de encontrar padrão (pattern) e substituir cadeia de caracteres (replace). Todas as ocorrências são substituídas, não apenas a primeira.

O parâmetro "replace" pode ser tanto um valor especificado, como mostrado abaixo, ou um grupo marcado, como "$1". Certifique-se de que os grupos marcados estejam entre aspas duplas.

O parâmetro icase é opcional. Quando especificado, há diferenciação entre maiúsculas e minúsculas.

  • Por padrão, icase = 1, sem diferenciar maiúsculas de minúsculas.

  • Quando definido como 0, há diferenciação.

Exemplo

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

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

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

Replace

Replace(String, Target, Replacement): retorna a cadeia de caracteres (String) após substituir todas as ocorrências da sequência-alvo (Target) com a sequência de substituição (Replacement).

Exemplo

Replace("Good judgment comes from experience", "experience", "awareness") retorna "Good judgment comes from awareness"

ReplaceChar

ReplaceChar(String, y, z) : retorna a cadeia de caracteres (String) após substituir todas as ocorrências de qualquer caractere em y pelo caractere em z. Se z for uma cadeia com mais de um caractere, apenas o primeiro será usado. Se z estiver vazio, todos os caracteres da cadeia que corresponderem a quaisquer caracteres em y serão simplesmente removidos.

Exemplo

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

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

ReplaceFirst

ReplaceFirst(String, Target, Replacement) : retorna a cadeia de caracteres (String) após substituir a primeira ocorrência da sequência-alvo (Target) pela sequência de substituição (Replacement).

Exemplo

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

ReverseString

ReverseString(String) : inverte todos os caracteres da cadeia de caracteres (String).

Exemplo

ReverseString("abcdefb") retorna "bfedcba".

Right

Right(String, len) : retorna os últimos caracteres (número determinado em len) da cadeia. Se len for menor que 0 ou maior que o comprimento da cadeia de caracteres, esta permanecerá inalterada.

Exemplo

Right("92688", 3) retorna o valor 688.

StartsWith

StartsWith(String, Target, CaseInsensitive=1) : verifica se uma cadeia de caracteres (String) começa com a sequência-alvo especificada (Target). Retorna verdadeiro se a cadeia de caracteres (String) inicia com a sequência-alvo (Target); senão, retorna falso.

Exemplo

StartsWith('ABC123', 'ABC') retorna verdadeiro.

StartsWith('ABC123', 'abc') retorna verdadeiro.

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

STRCSPN

STRCSPN(String, y) : retorna o comprimento da porção inicial da cadeia de caracteres (String) consistindo em caracteres que não estão em y.

Exemplo

STRCSPN("Bob's Amaco", "~!@#$%^&*'()") retorna 3. Esse é um teste útil para se certificar de que não há nenhuma pontuação na cadeia de caracteres.

StripQuotes

StripQuotes(String) : remove um par de aspas ou apóstrofos das extremidades da cadeia de caracteres (String).

Exemplo

StripQuotes("Hello there") retorna Hello there.

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

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

STRSPN

STRSPN(String, y) : retorna o comprimento da porção inicial da cadeia de caracteres (String) consistindo em caracteres que estão em (y).

Exemplo

STRSPN("3034408896x105", "0123456789") retorna 10. Este é um teste útil para se certificar de que uma cadeia é formada por um determinado um conjunto de caracteres.

Substring

Substring(String, start, length) : retorna a subcadeia da cadeia de caracteres (String), começando em "start" e parando após o comprimento informado em "lenght", se informado.

Exemplo

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

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

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

TitleCase

TitleCase(String) : converte a primeira letra de cada palavra da cadeia de caracteres (String) para maiúscula.

Exemplo

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

Trim

Trim(String, y) : remove os caracteres em y do início e do fim da cadeia de caracteres (String). O parâmetro y é opcional: por padrão, essa função remove espaços em branco. Observe, nos exemplos da função TRIM, que os caracteres especificados são removidos. Não importa a ordem em que os caracteres estão.

Exemplo

Trim("!see instructions!!!", "!") retorna "see instructions".

Trim(" Test123 ") returns "Test123", sem os espaços no início e no fim.

TrimLeft

TrimLeft(String, y) : remove os caracteres em y do início da cadeia de caracteres (String). O parâmetro y é opcional: por padrão, essa função remove espaços em branco.

Exemplo

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

TrimRight

TrimRight(String, y) : remove os caracteres em y do final da cadeia de caracteres (String). O parâmetro y é opcional: por padrão, essa função remove espaços em branco.

Mesmo que você queira cortar um grupo de caracteres em sequência, as funções Trim não respeitam a ordem dos caracteres – elas tratam a cadeia em "y" como uma simples lista. Portanto, elas cortam TODOS os caracteres especificados na lista. Se você quiser substituir uma sequência como um todo, use uma função Replace ou uma função Regex em sua expressão.

Exemplo

TrimRight("John Smith ") retorna "John Smith".

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

Uppercase

Uppercase(String) : converte a cadeia de caracteres (String) para letras maiúsculas.

Exemplo

Uppercase("John Smith")  retorna "JOHN SMITH".

Uuid

UuidCreate() : cria um identificador exclusivo.

Exemplo

UuidCreate() retorna um valor único, como "ba131836-1ba3-4d42-8f7e-b81a99c2e838".

Sobre o comprimento das cadeias de caracteres

Ao fazer referência ao comprimento ( length ) de uma cadeia de caracteres, o primeiro caractere é contado como 1 (o comprimento da cadeia "registro" é 8).

No entanto, ao fazer referência à posição dos caracteres dentro de uma cadeia, as posições são contadas entre os caracteres. Basta pensar na posição do primeiro caractere como sendo 0. Assim, a posição da letra "g" na cadeia "registro" é 2.