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. 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.