> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kiwify.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Filtros de string

> Filtros de string para manipular texto em templates Liquid.

## `append`

Concatena duas strings e retorna o valor concatenado.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "/my/fancy/url" | append: ".html" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    /my/fancy/url.html
    ```
  </CodeGroup>
</Columns>

`append` também pode ser usado com variáveis:

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% assign filename = "/index.html" %}
    {{ "website.com" | append: filename }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    website.com/index.html
    ```
  </CodeGroup>
</Columns>

## `prepend`

Adiciona a string especificada ao início de outra string.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "apples, oranges, and bananas" | prepend: "Some fruit: " }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Some fruit: apples, oranges, and bananas
    ```
  </CodeGroup>
</Columns>

`prepend` também pode ser usado com variáveis:

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% assign url = "example.com" %}
    {{ "/index.html" | prepend: url }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    example.com/index.html
    ```
  </CodeGroup>
</Columns>

## `capitalize`

Torna o primeiro caractere de uma string maiúsculo.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "title" | capitalize }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Title
    ```
  </CodeGroup>
</Columns>

`capitalize` apenas capitaliza o primeiro caractere de uma string, então palavras posteriores não são afetadas:

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "my great title" | capitalize }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    My great title
    ```
  </CodeGroup>
</Columns>

## `upcase`

Torna cada caractere em uma string maiúsculo. Não tem efeito em strings que já estão todas em maiúsculas.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Parker Moore" | upcase }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    PARKER MOORE
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "APPLE" | upcase }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    APPLE
    ```
  </CodeGroup>
</Columns>

## `downcase`

Torna cada caractere em uma string minúsculo. Não tem efeito em strings que já estão todas em minúsculas.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Parker Moore" | downcase }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    parker moore
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "apple" | downcase }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    apple
    ```
  </CodeGroup>
</Columns>

## `strip`

Remove todos os espaços em branco (tabs, espaços e quebras de linha) de ambos os lados esquerdo e direito de uma string. Não afeta espaços entre palavras.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    BEGIN{{ "          So much room for activities!          " | strip }}END
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    BEGINSo much room for activities!END
    ```
  </CodeGroup>
</Columns>

## `lstrip`

Remove todos os espaços em branco (tabs, espaços e quebras de linha) do lado esquerdo de uma string. Não afeta espaços entre palavras.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    BEGIN{{ "          So much room for activities!          " | lstrip }}END
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    BEGINSo much room for activities!          END
    ```
  </CodeGroup>
</Columns>

## `rstrip`

Remove todos os espaços em branco (tabs, espaços e quebras de linha) do lado direito de uma string. Não afeta espaços entre palavras.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    BEGIN{{ "          So much room for activities!          " | rstrip }}END
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    BEGIN          So much room for activities!END
    ```
  </CodeGroup>
</Columns>

## `strip_newlines`

Remove quaisquer caracteres de quebra de linha de uma string.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% capture string_with_newlines %}
    Hello
    there
    {% endcapture %}

    {{ string_with_newlines | strip_newlines }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Hellothere
    ```
  </CodeGroup>
</Columns>

## `replace`

Substitui toda ocorrência do primeiro argumento em uma string pelo segundo argumento.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Take my protein pills and put my helmet on" | replace: "my", "your" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Take your protein pills and put your helmet on
    ```
  </CodeGroup>
</Columns>

## `replace_first`

Substitui apenas a primeira ocorrência do primeiro argumento em uma string pelo segundo argumento.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Take my protein pills and put my helmet on" | replace_first: "my", "your" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Take your protein pills and put my helmet on
    ```
  </CodeGroup>
</Columns>

## `replace_last`

Substitui apenas a última ocorrência do primeiro argumento em uma string pelo segundo argumento.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Take my protein pills and put my helmet on" | replace_last: "my", "your" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Take my protein pills and put your helmet on
    ```
  </CodeGroup>
</Columns>

## `remove`

Remove toda ocorrência da substring especificada de uma string.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "I strained to see the train through the rain" | remove: "rain" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    I sted to see the t through the
    ```
  </CodeGroup>
</Columns>

## `remove_first`

Remove apenas a primeira ocorrência da substring especificada de uma string.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "I strained to see the train through the rain" | remove_first: "rain" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    I sted to see the train through the rain
    ```
  </CodeGroup>
</Columns>

## `remove_last`

Remove apenas a última ocorrência da substring especificada de uma string.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "I strained to see the train through the rain" | remove_last: "rain" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    I strained to see the train through the
    ```
  </CodeGroup>
</Columns>

## `truncate`

Encurta uma string até o número de caracteres passado como argumento. Se o número especificado de caracteres for menor que o comprimento da string, reticencias (...) são adicionadas à string e são incluídas na contagem de caracteres.

### Basic Usage

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Ground control to Major Tom." | truncate: 20 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Ground control to...
    ```
  </CodeGroup>
</Columns>

### Reticências personalizadas

`truncate` aceita um segundo argumento opcional que especifica a sequência de caracteres a ser anexada à string truncada. Por padrão são reticências (...), mas você pode especificar uma sequência diferente.

O comprimento do segundo argumento conta contra o número de caracteres especificado pelo primeiro argumento. Por exemplo, se você quer truncar uma string para exatamente 10 caracteres, e usar reticências de 3 caracteres, use **13** para o primeiro argumento de `truncate`, já que as reticências contam como 3 caracteres.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Ground control to Major Tom." | truncate: 25, ", and so on" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Ground control, and so on
    ```
  </CodeGroup>
</Columns>

### Sem reticências

Você pode truncar para o número exato de caracteres especificado pelo primeiro argumento e evitar mostrar caracteres finais passando uma string vazia como segundo argumento:

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Ground control to Major Tom." | truncate: 20, "" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Ground control to Ma
    ```
  </CodeGroup>
</Columns>

## `split`

Divide uma string em um array usando o argumento como separador. `split` é comumente usado para converter itens separados por vírgula de uma string para um array.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {% assign beatles = "John, Paul, George, Ringo" | split: ", " %}

    {% for member in beatles %}
      {{ member }}
    {% endfor %}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    John

      Paul

      George

      Ringo
    ```
  </CodeGroup>
</Columns>

## `truncatewords`

Encurta uma string até o número de palavras passado como argumento. Se o número especificado de palavras for menor que o número de palavras na string, reticências (...) são anexadas à string.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Ground control to Major Tom." | truncatewords: 3 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Ground control to...
    ```
  </CodeGroup>
</Columns>

#### Reticências personalizadas

`truncatewords` aceita um segundo argumento opcional que especifica a sequência de caracteres a ser anexada à string truncada. Por padrão são reticências (...), mas você pode especificar uma sequência diferente.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Ground control to Major Tom." | truncatewords: 3, "--" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Ground control to--
    ```
  </CodeGroup>
</Columns>

#### Sem reticências

Você pode evitar mostrar caracteres finais passando uma string vazia como segundo argumento:

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Ground control to Major Tom." | truncatewords: 3, "" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    Ground control to
    ```
  </CodeGroup>
</Columns>

## `normalize_whitespace`

Substitui qualquer ocorrência de espaço em branco com um único espaço.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "a \n b" | normalize_whitespace }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    a b
    ```
  </CodeGroup>
</Columns>

## `number_of_words`

Conta o número de palavras em um texto. Este filtro aceita um argumento opcional para controlar o tratamento de caracteres chinês-japonês-coreano (CJK) na string de entrada:

* Passar `'cjk'` como argumento contará cada caractere CJK detectado como uma palavra independentemente de ser separado por espaço em branco.
* Passar `'auto'` (detecção automática) funciona similar a `'cjk'` mas é mais performático se o filtro for usado em uma string variável que pode ou não conter caracteres CJK.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "Hello world!" | number_of_words }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    2
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "你好hello世界world" | number_of_words }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    1
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "你好hello世界world" | number_of_words: "cjk" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    6
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "你好hello世界world" | number_of_words: "auto" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    6
    ```
  </CodeGroup>
</Columns>

## `array_to_sentence_string`

Converte um array em uma frase. Útil para listar tags. Argumento opcional para conector.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "foo,bar,baz" | split: "," | array_to_sentence_string }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    foo, bar, and baz
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "foo,bar,baz" | split: "," | array_to_sentence_string: "or" }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    foo, bar, or baz
    ```
  </CodeGroup>
</Columns>
