For the complete documentation index, see llms.txt. This page is also available as Markdown.

Funções de string

Aprenda sobre as funções de string da Digibee Integration Platform e como utilizá-las.

As funções de string são usadas para manipular dados do tipo string. Estas são as funções de string que você pode usar com a linguagem Double Braces da Digibee:

Função
Descrição

CAPITALIZE

Converte o primeiro caractere de uma string para maiúsculo

LOWERCASE

Converte todos os caracteres para minúsculo

UPPERCASE

Converte todos os caracteres para maiúsculo

NORMALIZE

Transforma caracteres especiais em caracteres não especiais

CONTAINS

Verifica se uma substring está contida em uma string

INDEXOF

Retorna o índice da primeira ocorrência de uma substring

LASTINDEXOF

Retorna o índice da última ocorrência de uma substring

MATCHES

Verifica se uma string corresponde a uma expressão regular

STRINGMATCHES

Retorna todas as expressões correspondentes em uma string que satisfazem um padrão

FUZZYMATCH

Realiza uma comparação aproximada entre uma string e uma lista de candidatos

CONCAT

Concatena qualquer número de strings em uma única string

CONCATWITHOUTTAB

Concatena strings e substitui caracteres de tabulação por espaços

JOIN

Concatena uma lista de strings com um separador especificado

REPLACE

Substitui todas as ocorrências de uma substring com base em uma expressão regular

SPLIT

Divide uma string em um array com base em uma expressão regular

SUBSTRING

Extrai uma substring de uma string

TRIM

Remove espaços em branco no início e no fim de uma string

LEFTPAD

Preenche o lado esquerdo de uma string com um caractere até um comprimento específico

RIGHTPAD

Preenche o lado direito de uma string com um caractere até um comprimento específico

ESCAPE

Codifica uma string usando sequências de escape

UNESCAPE

Decodifica uma string que contém sequências de escape

DEFAULT

Retorna um valor padrão para referências nulas ou inexistentes

TOSTRING

Converte um objeto para sua representação em string

RANDOMSTRINGS

Gera strings aleatórias a partir de um charset e comprimento

Capitalização e normalização

CAPITALIZE

Converte o primeiro caractere de uma string para maiúsculo. Os demais caracteres não são afetados.

Sintaxe

  • value: a string cujo primeiro caractere será convertido para maiúsculo.

Retorna: uma string que é uma versão de value com o primeiro caractere em maiúsculo.

Exemplo de uso

O resultado esperado é:

LOWERCASE

Converte todos os caracteres para minúsculo.

Sintaxe

  • value: a string de entrada a ser convertida para minúsculo.

Retorna: a string equivalente em minúsculo da string de entrada.

Exemplo de uso

O resultado esperado é:

UPPERCASE

Converte todos os caracteres para maiúsculo.

Sintaxe

  • value: a string de entrada a ser convertida para maiúsculo.

Retorna: a string equivalente em maiúsculo da string de entrada.

Exemplo de uso

O resultado esperado é:

NORMALIZE

Transforma caracteres especiais em caracteres não especiais.

Sintaxe

  • value: a string a ser normalizada.

Retorna: a string normalizada com os caracteres especiais substituídos pelos seus equivalentes não especiais.

Exemplo de uso

O resultado esperado é:

Busca e correspondência

CONTAINS

Verifica se uma substring está contida em uma string.

Sintaxe

  • main_string: a string principal onde a busca será realizada.

  • sub_string: a substring a ser buscada.

Retorna: true se a substring for encontrada na string principal, false caso contrário.

Exemplo de uso

O resultado esperado é:

INDEXOF

Retorna o índice da primeira ocorrência de uma substring em uma string. A busca diferencia maiúsculas de minúsculas e o índice começa em 0.

Sintaxe

  • main_string: a string principal onde a busca será realizada.

  • sub_string: a substring a ser buscada.

  • fromIndex: o índice a partir do qual a busca deve começar. O padrão é 0.

Retorna: um inteiro indicando o índice da primeira ocorrência da substring na string principal. Se a substring não for encontrada, a função retorna -1.

Exemplos de uso

1. Substring encontrada

O resultado esperado é:

2. Substring não encontrada

O resultado esperado é:

LASTINDEXOF

Retorna o índice da última ocorrência de uma substring em uma string. A busca diferencia maiúsculas de minúsculas e o índice começa em 0.

Sintaxe

  • main_string: a string principal onde a busca será realizada.

  • sub_string: a substring a ser buscada.

  • fromIndex: o índice a partir do qual a busca deve começar. O padrão é 0.

Retorna: um inteiro indicando o índice da última ocorrência da substring na string principal. Se a substring não for encontrada, a função retorna -1.

Exemplos de uso

1. Substring encontrada

O resultado esperado é:

2. Substring não encontrada

Como a substring "a" não está contida na string "Hello, world!", o resultado esperado é:

MATCHES

Verifica se uma string corresponde a uma expressão regular.

Sintaxe

  • value: a string a ser verificada contra a expressão regular.

  • pattern: o padrão de expressão regular a ser usado na verificação.

Retorna: true se a string de entrada corresponder à expressão regular, false caso contrário.

Exemplo de uso

O resultado esperado é:

STRINGMATCHES

Retorna um array com todas as expressões correspondentes em uma string que satisfazem um padrão.

Sintaxe

  • value: a string onde as correspondências serão buscadas.

  • pattern: o padrão de expressão regular a ser usado na busca.

  • patternFlag: controla o comportamento do motor de expressão regular, como correspondência sem distinção de maiúsculas/minúsculas, correspondência multilinha ou sintaxe estendida. Se não especificado, o motor usa seu comportamento padrão. As opções são:

Flag
Descrição

CANON_EQ

Ativa a correspondência de equivalência canônica de caracteres Unicode. Caracteres que parecem idênticos são correspondidos mesmo que tenham codepoints Unicode diferentes.

CASE_INSENSITIVE

Desativa a distinção entre maiúsculas e minúsculas.

COMMENTS

Permite comentários no padrão de expressão regular. Comentários podem ser adicionados após o símbolo #.

DOTALL

Ativa o modo "dotall", permitindo que o ponto . corresponda ao caractere de nova linha \n.

LITERAL

Trata o padrão como uma sequência de caracteres literais. Metacaracteres e sequências de escape não têm significado especial.

MULTILINE

Ativa a correspondência em múltiplas linhas.

UNICODE_CASE

Permite a correspondência sem distinção de maiúsculas/minúsculas para caracteres Unicode, respeitando as regras de case folding Unicode.

UNICODE_CHARACTER_CLASS

Permite o uso de classes de caracteres Unicode no padrão de expressão regular.

UNIX_LINES

Altera o comportamento dos metacaracteres ^ e $ para corresponder ao início e ao fim de uma linha, respectivamente, em vez do início e do fim da string de entrada.

Retorna: um array com todas as expressões correspondentes na string que satisfazem o padrão.

Exemplo de uso

O resultado esperado é:

FUZZYMATCH

Realiza uma comparação aproximada entre uma string de referência e uma lista de candidatos com base em similaridade.

Sintaxe

  • inputString: A string de referência para comparação. Se null, é tratada como uma string vazia e a execução não é interrompida.

  • threshold: Um número entre 0 e 1 que define a similaridade mínima (por exemplo, 0.8 para 80%). O valor deve ser um número JSON, não uma string. Passar "0.8" (entre aspas) gera um erro de tipo. Valores fora do intervalo [0, 1] também geram um erro.

  • candidates: Um ou mais argumentos após o threshold, cada um podendo ser uma string, um array JSON ou qualquer outro valor JSON (números, booleanos, objetos). Valores não-string são convertidos para sua representação JSON em string antes da comparação. Quando um argumento é um array, cada um de seus elementos de primeiro nível é avaliado como um candidato independente. Escalares e arrays podem ser misturados na mesma chamada, e pelo menos um candidato deve ser fornecido. A expansão do array ocorre apenas no primeiro nível: se um elemento do array for ele mesmo um array ou um objeto, é tratado como um único candidato e sua serialização JSON é o que será comparado.

Retorna: um array de strings contendo os candidatos com similaridade maior ou igual ao threshold fornecido, ordenados por similaridade decrescente (o mais similar primeiro). Os valores retornados preservam sua formatação original (maiúsculas/minúsculas e acentos).

A similaridade é calculada como 1 − (distância de Levenshtein / comprimento máximo das strings normalizadas). Uma pontuação de 1 significa strings idênticas (após normalização); uma pontuação de 0 significa strings completamente diferentes.

Para o cálculo da pontuação, a função aplica a seguinte normalização tanto na string de entrada quanto em cada candidato antes de compará-los:

  • converte o texto para minúsculo (sem distinção de maiúsculas/minúsculas),

  • remove diacríticos (acentos),

  • substitui pontuação por espaços,

  • colapsa múltiplos espaços em um único espaço e remove espaços no início e no fim.

A normalização afeta apenas o cálculo da pontuação. O texto original do candidato é preservado no array retornado.

Exemplos de uso

Correspondência com normalização (maiúsculas/minúsculas e acentos)

Mesmo com diferenças de acentuação no candidato, a normalização permite uma correspondência se o threshold for atingido.

  • Expressão: {{ FUZZYMATCH("ACME CORPORATION", 0.9, "ÁCME CORPÔRATION") }}

  • Resultado: ["ÁCME CORPÔRATION"]

Múltiplos candidatos com ordenação

A função filtra os candidatos que não atingem o threshold mínimo e ordena os resultados pela pontuação de proximidade.

  • Expressão: {{ FUZZYMATCH("Acme Corp", 0.5, "Globex", "Acme Corporation", "Aacme Corp") }}

  • Resultado: ["Aacme Corp", "Acme Corporation"]

Threshold restritivo (sem correspondência)

Se nenhum candidato atingir a similaridade mínima, um array vazio é retornado.

  • Expressão: {{ FUZZYMATCH("Apple", 0.9, "Pineapple", "Banana") }}

  • Resultado: []

Array como candidatos

Passe uma variável de array diretamente. Cada elemento é avaliado como um candidato independente.

  • Expressão: {{ FUZZYMATCH("ACME", 0.9999, message.array) }}

  • Resultado: Elementos de message.array que atingem o threshold, ordenados por similaridade decrescente.

Candidatos escalares e de array misturados

Escalares e arrays podem ser combinados na mesma chamada e são avaliados juntos.

  • Expressão: {{ FUZZYMATCH("ACME", 0.9, "ACME FIXED", message.otherArray) }}

  • Resultado: Todos os candidatos de ambas as fontes que atingem o threshold, ordenados por similaridade decrescente.

Array vazio

Um array vazio não adiciona candidatos e não causa um erro.

  • Expressão: {{ FUZZYMATCH("ACME", 0.99, []) }}

  • Resultado: []

Tratamento de erro de parâmetros

A função requer pelo menos 3 parâmetros (entrada, threshold e 1 candidato).

  • Expressão: {{ FUZZYMATCH("test", 0.8) }}

  • Resultado: Error: Wrong number of parameters for function FUZZYMATCH expected at least 3 mandatory but got 2

Array aninhado (candidato único, sem expansão)

Apenas o primeiro nível de um argumento do tipo array é expandido. Um array aninhado é tratado como um único candidato e sua serialização JSON é comparada.

  • Expressão: {{ FUZZYMATCH("a,b", 0.99, [["a", "b"], "c"]) }}

  • Resultado: []

O array interno ["a", "b"] é comparado como a string literal '["a","b"]', e não como os candidatos "a" e "b" separadamente.

Threshold inválido

O threshold deve ser um número dentro do intervalo inclusivo [0, 1]. Qualquer outro valor gera um erro.

  • Expressão: {{ FUZZYMATCH("a", 1.5, "a") }}

  • Resultado: Error: FUZZYMATCH threshold must be between 0 and 1, got 1.5

Entrada nula é tratada como string vazia

Entradas nulas não interrompem a execução. Elas são normalizadas para uma string vazia antes da comparação, e os candidatos são pontuados em relação a essa string vazia.

  • Expressão: {{ FUZZYMATCH(null, 0.0, "anything") }}

  • Resultado: ["anything"]

Com threshold 0, todos os candidatos correspondem porque qualquer similaridade (incluindo 0.0) satisfaz a condição. Com um threshold mais alto, o resultado é tipicamente [] porque a entrada vazia tem similaridade muito baixa em relação a candidatos não vazios.

Concatenação e junção

CONCAT

Concatena qualquer número de strings em uma única string.

Sintaxe

  • values: qualquer número de strings a serem concatenadas.

Retorna: a string concatenada.

Exemplo de uso

O resultado esperado é:

CONCATWITHOUTTAB

Concatena duas ou mais strings e substitui todo caractere de tabulação (\t) por um único espaço ( ).

Sintaxe

  • <string1>, <string2>, ..., <stringN>: uma ou mais expressões de texto.

  • Os colchetes [ ] indicam que os parâmetros adicionais são opcionais.

Exemplo de uso

O resultado esperado é:

JOIN

Concatena uma lista de strings em uma única string com um caractere separador especificado entre cada string.

Sintaxe

  • separator: o caractere separador a ser usado entre cada string.

  • values: qualquer número de strings a serem concatenadas.

Retorna: uma string representando a concatenação das strings de entrada com o caractere separador especificado entre cada uma.

Exemplos de uso

Separador como espaço

O resultado esperado é:

Separador como hífen

O resultado esperado é:

Transformação

REPLACE

Substitui todas as ocorrências de uma substring em uma string com base em uma expressão regular.

Sintaxe

  • value: a string a ser pesquisada e alterada.

  • pattern: o padrão de expressão regular que especifica a substring a ser buscada.

  • replacement: a string que substituirá todas as ocorrências do padrão correspondente na string de entrada.

Exemplo de uso

O resultado esperado é:

SPLIT

Divide uma string em um array de strings com base em um padrão de expressão regular.

Sintaxe

  • value: a string a ser dividida.

  • pattern: o padrão de expressão regular que especifica o ponto de divisão. A string será dividida em todas as ocorrências do padrão.

Retorna: um array de strings resultante da operação de divisão.

Exemplo de uso

O resultado esperado é:

SUBSTRING

Extrai uma substring de uma string.

Sintaxe

  • value: a string original da qual a substring será extraída.

  • start: o índice inicial da substring. O índice começa em 0.

  • end: o índice final da substring. Se não fornecido, a extração termina no último caractere da string original.

  • throwIndexOutOfBoundError: se true, um erro será lançado se os índices fornecidos estiverem fora do intervalo. Caso contrário, a string original será retornada. O padrão é true.

Retorna: a substring extraída da string original.

Exemplo de uso

O resultado esperado é:

TRIM

Remove espaços em branco no início e no fim de uma string.

Sintaxe

  • value: a string a ser aparada.

Retorna: uma string que é uma versão aparada de value.

Exemplo de uso

O resultado esperado é:

LEFTPAD

Preenche o lado esquerdo de uma string com um caractere especificado até um comprimento específico.

Sintaxe

  • value: a string de entrada a ser preenchida.

  • length: o comprimento desejado da string.

  • character: o caractere usado para preencher o lado esquerdo da string de entrada. O padrão é um espaço em branco.

Retorna: uma string preenchida com o comprimento desejado, com o caractere especificado no lado esquerdo da string de entrada. Se a string de entrada já for maior que o comprimento especificado, a string original é retornada.

Exemplos de uso

String menor que o comprimento alvo

O resultado esperado é:

String já no comprimento alvo

Como "hello" já tem 5 caracteres, o resultado esperado é:

RIGHTPAD

Preenche o lado direito de uma string com um caractere especificado até um comprimento específico.

Sintaxe

  • value: a string de entrada a ser preenchida.

  • length: o comprimento desejado da string.

  • character: o caractere usado para preencher o lado direito da string de entrada. O padrão é um espaço em branco.

Retorna: uma string preenchida com o comprimento desejado, com o caractere especificado no lado direito da string de entrada. Se a string de entrada já for maior que o comprimento especificado, a string original é retornada.

Exemplos de uso

String menor que o comprimento alvo

O resultado esperado é:

String já no comprimento alvo

Como "hello" já tem 5 caracteres, o resultado esperado é:

Codificação

ESCAPE

Codifica uma string usando sequências de escape.

Sintaxe

  • value: a string a ser codificada.

  • escapeType: o tipo de escape a ser usado. As opções válidas são "JSON", "XML", "CSV" e "HTML". O padrão é "JSON".

Retorna: uma nova string na qual determinados caracteres foram escapados.

Exemplo de uso

O resultado esperado é:

UNESCAPE

Decodifica uma string que contém sequências de escape.

Sintaxe

  • value: a string a ser decodificada.

  • escapeType: o tipo de escape a ser usado. As opções válidas são "JSON", "XML", "CSV" e "HTML". O padrão é "JSON".

Retorna: uma nova string na qual determinados caracteres foram desescapados.

Exemplo de uso

O resultado esperado é:

Utilitários

DEFAULT

Retorna um valor padrão quando uma referência aponta para um valor nulo ou inexistente.

Sintaxe

  • value: o valor a ser verificado quanto à nulidade ou inexistência.

  • defaultValue: o valor padrão a ser retornado se value for nulo ou inexistente.

Retorna: value, se value não for nulo ou inexistente, ou defaultValue, caso contrário.

Exemplo de uso

Suponha que você esteja usando esta função no parâmetro JSON de um componente JSON Generator que recebe o seguinte payload:

Você pode usar a função DEFAULT para substituir o valor nulo pela string "not available".

O resultado esperado é:

Leia este artigo para saber mais sobre como referenciar dados com Double Braces.

TOSTRING

Converte um objeto para sua representação em string.

Sintaxe

  • object: o objeto a ser convertido para string. Pode ser de qualquer tipo.

Exemplo de uso

O resultado esperado é:

RANDOMSTRINGS

Gera strings aleatórias a partir de um charset e comprimento especificados.

Sintaxe

  • charset: o charset a ser usado. As opções são: "ALPHANUMERIC", "ALPHABETIC", "ASCII" e "NUMERIC".

  • length: o comprimento da string de saída.

Exemplo de uso

O resultado varia porque é aleatório. Um possível resultado é:

Atualizado

Isto foi útil?