Funções de string

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

As funções foram criadas para:

  • Acelerar ainda mais a criação das suas integrações.

  • Diminuir a complexidade dos seus pipelines.

  • Simplificar conversões e transformações dos dados durante o fluxo dos seus pipelines.

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

CAPITALIZE

Coloca o primeiro caractere de uma string em caixa alta. Outros caracteres não são afetados.

Sintaxe

CAPITALIZE(value : string) -> string
  • value: a string cuja primeira letra deve ser maiúscula.

Retorna: uma string que é uma versão de value com o primeiro caractere em caixa alta.

Exemplo de uso

{{ CAPITALIZE("hello, world!") }}

O resultado esperado é:

"Hello, world!"

CONCAT

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

Sintaxe

CONCAT(*values: string) -> string
  • values: qualquer número de strings a serem concatenadas.

Retorna: a string concatenada.

Exemplo de uso

{{ CONCAT("Hello", ", ", "world!") }}

O resultado esperado é:

"Hello, world!"

CONTAINS

Verifica se uma substring está contida em uma determinada string.

Sintaxe

CONTAINS(main_string: string, sub_string: string) -> boolean
  • main_string: a string principal a ser pesquisada.

  • sub_string: a substring a ser procurada.

Retorna: um valor booleano indicando se a substring foi encontrada ou não. Retorna true se a substring for encontrada na string principal e false, caso contrário.

Exemplo de uso

{{ CONTAINS("Hello, world!", "world") }}

O resultado esperado é:

true

DEFAULT

Retorna um valor padrão quando uma referência é feita a um valor nulo ou inexistente.

Sintaxe

DEFAULT(value: string, defaultValue: string) -> string
  • 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, se for.

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:

{
"nome": "João Silva",
"idade": null
}

Você pode usar a função DEFAULT para substituir o valor nulo por uma string "não disponível".

{
"nome": "João Silva",
"idade" : {{ DEFAULT(message.idade, "não disponível") }}
}

O resultado esperado é:

{
"nome": "João Silva",
"idade": "não disponível"
}

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

ESCAPE

Codifique uma string usando sequências de escape.

Sintaxe

ESCAPE(value: string, escapeType: string<opcional>) -> string
  • value: a string a ser codificada.

  • escapeType: o tipo de sequência de escape a ser utilizada. As opções válidas são "JSON", "XML", "CSV" e "HTML". Caso não especificado, assume valor padrão "JSON".

Retorna: uma nova string na qual certos caracteres foram substituídos por sequências de escape.

Exemplo de uso

{{ ESCAPE("<h1>Hello, world!</h1>", "HTML") }}

O resultado esperado é:

"&lt;h1&gt;Hello, world!&lt;/h1&gt;"

INDEXOF

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

Sintaxe

INDEXOF(main_string: string, sub_string: string, fromIndex: integer<opcional>) -> int
  • main_string: a string principal a ser pesquisada.

  • sub_string: a substring a ser procurada.

  • fromIndex: o índice a partir do qual a pesquisa deve começar. Caso não especificado, assume valor padrão 0.

Retorna: um integer 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

{{ INDEXOF("Hello, world!", "world") }}

O resultado esperado é:

7
{{ INDEXOF("Hello, world!", "welcome") }}

O resultado esperado é:

-1

JOIN

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

Sintaxe

JOIN(separator: string, *values: string) -> string
  • separator: uma string representando o caractere separador a ser usado entre cada string.

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

Retorna: a string concatenada com o caractere separador especificado entre cada string no input.

Exemplos de uso

{{ JOIN(" ", "Estas","palavras", "são", "separadas","por","espaços") }}

O resultado esperado é:

"Estas palavras são separadas por espaços"
{{ JOIN("-", "Estas","palavras", "são","separadas","por","hífens") }}

O resultado esperado é:

"Estas-palavras-são-separadas-por-hífens"

LASTINDEXOF

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

Sintaxe

LASTINDEXOF(main_string: string, sub_string: string) -> int
  • main_string: a string principal a ser pesquisada.

  • sub_string: a substring a ser procurada.

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

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

Exemplos de uso

{{ LASTINDEXOF("Hello, world!", "o") }}

O resultado esperado é:

8
{{ LASTINDEXOF("Hello, world!", "a") }}

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

-1

LEFTPAD

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

Sintaxe

LEFTPAD(value: string, length: integer, character:string<opcional>) -> string
  • value: a string de entrada a ser preenchida.

  • length: o comprimento da string desejada.

  • character: o caractere que será usado para preencher o lado esquerdo da string de entrada. Por padrão, um espaço em branco.

Retorna: uma string preenchida do comprimento desejado com o caractere especificado preenchendo o lado esquerdo da string de entrada. Se o comprimento da string de entrada já for maior ou igual ao especificado, a string original será retornada.

Exemplos de uso

{{ LEFTPAD("example", 10, "-")

O resultado esperado é:

"---example"
{{ LEFTPAD("hello", 5, "*")

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

"hello"

LOWERCASE

Converte todos os caracteres em minúsculos.

Sintaxe

LOWERCASE(value: string) -> string
  • value: a string de entrada a ser convertida em letras minúsculas.

Retorna: a string que é o equivalente em minúsculas da string de entrada.

Exemplo de uso

{{ LOWERCASE("HELLO, WorLD!") }}

O resultado esperado é:

"Hello, world!"

MATCHES

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

Sintaxe

MATCHES(value: string, pattern: string) -> boolean
  • value: uma string que deve ser comparada com a expressão regular fornecida.

  • pattern: um padrão de expressão regular que deve ser usado para corresponder à string de entrada.

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

Exemplo de uso

{{ MATCHES("123-456-7890", "\\d{3}-\\d{3}-\\d{4}") }}

O resultado esperado é:

true

NORMALIZE

Transforma quaisquer caracteres especiais em caracteres não especiais.

Sintaxe

NORMALIZE(value: string) -> string
  • value: a string a ser normalizada.

Retorna: a string normalizada com caracteres especiais substituídos por suas contrapartes não especiais.

Exemplo de uso

{{ NORMALIZE("São Paulo") }}

O resultado esperado é:

"Sao Paulo"

RANDOMSTRINGS

Gera strings aleatórias dados um conjunto de caracteres e o comprimento da string.

Sintaxe

RANDOMSTRINGS(charset: string, length: int) -> string
  • charset: o conjunto de caracteres a ser usado. As opções são: "ALPHANUMERIC", "ALPHABETIC" , "ASCII", e "NUMERIC".

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

Exemplo de uso

{{ RANDOMSTRINGS("ALPHANUMERIC",10) }}

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

"lUbCIs7T3G"

REPLACE

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

Sintaxe

REPLACE(value: string, pattern: string, replacement: string) -> string
  • value: a string a ser pesquisada e alterada.

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

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

Exemplo de uso

{{ REPLACE("Hello, world!", "Hello", "Bonjour") }}

O resultado esperado é:

"Bonjour, world!"

RIGHTPAD

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

Sintaxe

RIGHTPAD(value: string, length: integer, character:string<opcional>) -> string
  • value: a string de entrada a ser preenchida.

  • length: o comprimento da string desejada.

  • character: o caractere que será usado para preencher o lado direito da string de entrada. Por padrão, um espaço em branco.

Retorna: uma string preenchida do comprimento desejado com o caractere especificado preenchendo o lado direito da string de entrada. Se o comprimento da string de entrada já for igual ou maior que o especificado, a string original será retornada.

Exemplos de uso

{{ RIGHTPAD("example", 10, "-") }}

O resultado esperado é:

"example---"
{{ RIGHTPAD("hello", 5, "*") }}

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

"hello"

SPLIT

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

Sintaxe

SPLIT(value: string, pattern: string) -> Array[string]
  • value: a string a ser dividida.

  • pattern: um 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

{{ SPLIT("Hello, world!", " ") }}

O resultado esperado é:

["Hello,", "world!"]

STRINGMATCHES

Retorna um array de todas as expressões correspondentes em uma string que atendem a um determinado padrão de expressão regular.

Sintaxe

STRINGMATCHES(value: string, pattern: string, patternFlag: string<opcional>) -> Array[string]
  • value: uma string para procurar correspondências.

  • pattern: um padrão de expressão regular para corresponder à string.

  • patternFlag: o comportamento do mecanismo de expressão regular. Isso pode ser usado para modificar o comportamento de correspondência da expressão regular. Se não for especificado, o mecanismo de expressão regular usará seu comportamento padrão. As opções são:

    • CANON_EQ: ativa a correspondência de equivalência canônica de caracteres Unicode. Quando esse pattern flag é ativado, os caracteres que parecem idênticos são correspondidos, mesmo que tenham codepoints diferentes no Unicode.

    • CASE_INSENSITIVE: desativa a diferenciação de maiúsculas e minúsculas.

    • COMMENTS: permite comentários no padrão de expressão regular. Você pode adicionar comentários após uma hashtag #.

    • DOTALL: ativa o modo "dotall", que permite que um ponto. corresponda ao caractere de nova linha\n.

    • LITERAL: quando este sinalizador é especificado, a string de entrada que especifica o padrão é tratada como uma sequência de caracteres literais. Metacaracteres ou sequências de escape na sequência de entrada não terão nenhuma interpretação especial.

    • MULTILINE: ativa a correspondência em várias linhas.

    • UNICODE_CASE: permite correspondência sem distinção entre maiúsculas e minúsculas de caracteres Unicode, levando em consideração as case folding rules do Unicode.

    • UNICODE_CHARACTER_CLASS: permite classes de caracteres Unicode no padrão de expressão regular.

    • UNIX_LINES: altera o comportamento dos metacaracteres ^ e $ para coincidir com o início e o fim de uma linha, respectivamente, em vez do início e do fim da string de entrada.

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

Exemplo de uso

{{ STRINGMATCHES("Hello, world!", "hello", "CASE_INSENSITIVE") }}

O resultado esperado é:

["Hello"]

SUBSTRING

Extrai uma substring de uma determinada string.

Sintaxe

SUBSTRING(value: string, start: int, end: int<opcional>, throwIndexOutOfBoundError: boolean<opcional>) -> string
  • value: a string original da qual a substring deve ser extraída.

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

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

  • throwIndexOutOfBoundError: se true, um erro será gerado se os índices fornecidos estiverem fora do intervalo. Caso contrário, a string original será retornada. Assume valor true por padrão.

Retorna: a substring extraída da string original.

Exemplo de uso

{{ SUBSTRING("Hello, world!", 0, 5) }}

O resultado esperado é:

"Hello"

TOSTRING

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

Sintaxe

TOSTRING(object: any) -> string
  • object: o objeto a ser convertido em uma string. Pode ser de qualquer tipo.

Exemplo de uso

{{ TOSTRING(123) }}

O resultado esperado é:

"123"

TRIM

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

Sintaxe

TRIM(value: string) -> string
  • value: a string a ser aparada.

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

Exemplo de uso

{{ TRIM(" Hello, world! ") }}

O resultado esperado é:

"Hello, world!"

UNESCAPE

Decodifica uma string que possui sequências de escape.

Sintaxe

UNESCAPE(value: string, escapeType: string<opcional>) -> string
  • value: a string a ser decodificada.

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

Retorna: uma nova string na qual certos caracteres foram substituídos por sequências de escape.

Exemplo de uso

{{ UNESCAPE("&lt;h1&gt;Hello, world!&lt;/h1&gt;", "HTML") }}

O resultado esperado é:

"<h1>Hello, world!</h1>"

UPPERCASE

Converte todos os caracteres em maiúsculas.

Sintaxe

UPPERCASE(value: string) -> string
  • value: a string de entrada cujos caracteres devem ser convertidos em letras maiúsculas.

Retorna: o equivalente maiúsculo da string de entrada.

Exemplo de uso

{{ UPPERCASE("Hello, world!") }}

O resultado esperado é:

"HELLO, WORLD!"

Outras funções

Conheça também:

Atualizado