Ao contrário das outras categorias, nos dados de texto há poucas restrições quanto aos tipos de valores que aparecem em uma célula. No aplicativo, esses dados normalmente são interpretados como o tipo "String". Consequentemente, encontrar valores de string com o mesmo significado pode ser um desafio, porque pequenas diferenças no conteúdo ou na estrutura podem invalidar uma correspondência.
Esta seção apresenta alguns métodos para comparar strings.
- Alguns sistemas de destino podem impor limites em relação ao comprimento de valores importados. Para saber mais informações sobre como gerenciar os comprimentos das strings, consulte Gerenciar comprimentos de string.
Encontrar substrings
Use as funções a seguir para encontrar substrings que façam parte do valor de uma coluna.
Nome da função | Descrição |
---|---|
Função LEFT | Corresponde ao conjunto de caracteres mais à esquerda de uma string, conforme especificado pelo parâmetro. A string pode ser especificada como uma referência de coluna ou um literal de string. |
Função RIGHT | Corresponde ao grupo certo de caracteres em uma string, conforme especificado pelo parâmetro. A string pode ser especificada como uma referência de coluna ou um literal de string. |
Função FIND | Retorna o valor de índice na string de entrada em que uma string correspondente especificada está localizada. A pesquisa é feita da esquerda para a direita. |
Função RIGHTFIND | Corresponde ao grupo certo de caracteres em uma string, conforme especificado pelo parâmetro. A string pode ser especificada como uma referência de coluna ou um literal de string. |
Função SUBSTRING | Corresponde a uma string em parte ou em todo, com base nos valores de início e fim de índice definidos pelo usuário dentro da string. |
A transformação a seguir verifica os cinco valores à esquerda da versão em letras minúsculas da coluna ProdId para ver se ela corresponde a xxxx-
. Se o valor for detectado, o valor ProdName
será definido como NO_NAME
:
Nome da transformação | Edit with formula |
---|---|
Parâmetro: colunas | ProdName |
Parâmetro: fórmula | IF(LEFT(LOWER(ProdId,5))=='xxxx-','NO_NAME' ,ProdName) |
Comparar finais de string por padrão
Use as funções STARTSWITH
e ENDSWITH
para determinar se uma string começa ou termina com um padrão especificado.
Dica: essas funções são mais úteis para realizar verificações baseadas em padrões em strings. Para literais de string, use as funções LEFT
e RIGHT
. Saiba mais a seguir.
A transformação a seguir vai inserir o valor error
na coluna custCodeStatus
, se o valor custCode
começar com seis dígitos em uma linha:
Nome da transformação | Edit with formula |
---|---|
Parâmetro: colunas | custCodeStatus |
Parâmetro: fórmula | IF(STARTSWITH(custCode,`{digit}{6}`), 'error',custCodeStatus) |
Consulte Função STARTSWITH.
Consulte Função ENDSWITH.
Corresponder strings
Correspondência exata
Use a função EXACT
para comparar se duas strings são correspondências exatas. As entradas de string podem ser literais, referências de coluna ou expressões que têm strings como resultado.
OBSERVAÇÃO: a função EXACT
determina correspondências exatas. Diferenças de espaço em branco ou no uso de maiúsculas e minúsculas retornam false
.
Aninhe expressões de função dentro da referência EXACT
para eliminar diferenças comuns e que talvez não sejam úteis entre strings. Na transformação a seguir, um valor true
será inserido na coluna matches
se colA
e colB
forem correspondências exatas, depois que as diferenças de espaço em branco e maiúsculas/minúsculas tiverem sido removidas:
Nome da transformação | New formula |
---|---|
Parâmetro: fórmula | IF(EXACT(LOWER(REMOVEWHITESPACE(colA)))==EXACT(LOWER(REMOVEWHITESPACE(colB))),'true','false') |
Parâmetro: novo nome da coluna | matches |
Correspondência Doublemetaphone
A plataforma também aceita o algoritmo doublemetaphone em correspondência difusa. Esse algoritmo fornece mecanismo para correspondência de proximidade. A função DOUBLEMETAPHONEEQUALS
aceita um segundo parâmetro opcional para definir a força do algoritmo.
Esse algoritmo funciona gerando duas codificações separadas para cada string: uma principal e uma secundária. Teste essas codificações usando a função DOUBLEMETAPHONE
. Consulte Função DOUBLEMETAPHONE.
Esse algoritmo pode ser aplicado para comparar duas strings, como na transformação a seguir.
Nome da transformação | New formula |
---|---|
Parâmetro: fórmula | DOUBLEMETAPHONEEQUALS(colA,colB,'strong') |
Parâmetro: novo nome da coluna | matches |
- Os dois primeiros parâmetros da função são os literais de string, as referências de coluna ou as funções que retornam strings a serem comparadas.
O terceiro parâmetro é opcional. Ele determina o nível de correspondência obrigatório para retornar
true
. Opções:Limite de correspondência Descrição 'strong'
Ambas as codificações principais precisam ser correspondentes. 'normal'
Pelo menos uma codificação principal precisa corresponder a qualquer uma das codificações da outra string. 'weak'
Uma codificação principal ou secundária de cada uma pode corresponder. - Para saber mais informações, consulte Função DOUBLEMETAPHONEEQUALS.
Comparar strings
Em valores de string, use as funções de comparação de string para verificar semelhanças usando configurações de compilação em latim.
Dica: qualquer coluna pode ser convertida no tipo de dados "String" para usar essas funções.
A compilação se refere à organização de conteúdo gravado em uma ordem padronizada. As funções de comparação de strings utilizam regras de compilação para o latim. Um resumo das regras:
- As comparações diferenciam maiúsculas de minúsculas.
- As letras maiúsculas são maiores que as versões em minúsculas da mesma letra.
- No entanto, as letras minúsculas que estão mais adiante no alfabeto são maiores do que a versão em maiúscula da letra anterior.
- Duas strings serão iguais se houver correspondência exata.
- Se duas strings forem idênticas, mas a segunda tiver um caractere adicional no final, a segunda string será considerada maior.
- Uma versão normalizada de uma letra é a versão não acentuada e minúscula dela. Na comparação de strings, ela tem o valor mais baixo de todas as variantes.
- a é inferior a ă.
- No entanto, em comparação com b, a = ă.
- O conjunto de caracteres normalizados latinos contém mais de 26 caracteres.
Esta tabela ilustra algumas regras generalizadas de compilação em latim:
Ordem | Descrição | Exemplo inferior | Exemplo superior |
---|---|---|---|
1 | espaço em branco | (espaço) | (enter) |
2 | Pontuação | ' | @ |
3 | Números | 1 | 2 |
4 | Letras | a | A |
5 | A | b |
Recursos:
OBSERVAÇÃO: no conjunto de gráficos a seguir (link abaixo), os valores na parte superior da página são inferiores aos listados mais abaixo. Da mesma maneira, os gráficos listados na barra de navegação esquerda estão listados em ordem crescente.
Para saber mais informações sobre as regras de compilação aplicáveis, consulte http://www.unicode.org/charts/collation/.
Funções disponíveis: