Funções de cadeia de caracteres

Versão:
2023.1
Last modified: April 17, 2023

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. Essas funções só podem ser usadas com dados do tipo 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 True (verdadeiro).

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

Contains('123ABC', 'abc', 0) retorna False (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("Variáveis Básicas Famílias") retorna 3.

CountWords("Variáveis Básicas Idade:Feminino (Pop)Idade  1") retorna 5.

DecomposeUnicodeForMatch

DecomposeUnicodeForMatch(String): remove acentos e expande caracteres compostos ao convertê-los para estreitos. 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.

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.

FindString

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([Nome], "João") retorna 0 quando a cadeia de caracteres começa com "João" e retorna -1 quando ela não contém "João".

IF (FINDSTRING([Nome], "João") =0) THEN "João Silva" ELSE "Outro" ENDIF retorna João Silva quando a cadeia de caracteres começa com "João" e retorna Outro quando começa diferente.

GetWord

GetWord(string, n): retorna a enésima palavra (base 0) da cadeia de caracteres. Palavras são definidas como um grupo de caracteres separados por um espaço. O índice de base 0 significa que a primeira palavra está na posição 0.

Exemplo

GetWord("Variáveis Básicas Famílias", 0) retorna "Variáveis".

GetWord("Variáveis Básicas Famílias", 1) retorna "Básicas".

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.

Exemplo

Length("92688") retorna o valor 5.

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.

LowerCase

LowerCase(String): converte a cadeia de caracteres para 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.

Exemplos

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á ☢"), como o caractere ☢ é largo, ele é 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 correspondências existem dentro da cadeia de caracteres (String) com o 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) pela 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 (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("Não revele seu número de Seguro Social, 123-45-6789","\d{3}-\d{2}-\d{4}", "CONFIDENCIAL") retorna "Não revele seu número de Seguro Social, CONFIDENCIAL".

REGEX_Replace("Alterar todos os domínios de alteryx@Alteryx.com","@.*\.", "@extendthereach.") retorna "Alterar todos os domínios de alteryx@extendthereach.com".

REGEX_Replace("25 teste","(\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("O bom senso vem da experiência", "experiência", "consciência") retorna "O bom senso vem da consciência".

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 começa com a sequência-alvo especificada. 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 pares 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("joão silva") retorna "João Silva".

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("!vide instruções!!!", "!") retorna "vide instruções".

Trim("   Teste123   ") retorna "Teste123", 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("** convite especial ", " *") retorna "convite especial ".

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.

Exemplo

TrimRight("João Silva   ") retorna "João Silva".

TrimRight("João Silva**","*") retorna "João Silva".

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.

Uppercase

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

Exemplo

Uppercase("João Silva") retorna "JOÃO SILVA".

Uuid

UuidCreate(): cria um identificador exclusivo.

Exemplo

UuidCreate() retorna um valor exclusivo, 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.

Esta página foi útil?

Problemas com seu produto Alteryx? Visite a Comunidade Alteryx ou entre em contato com nossa Equipe de Suporte. Não é possível enviar este formulário? Envie-nos um e-mail.