As fórmulas do Notion permitem manipular textos, números e datas diretamente nos bancos de dados. A função slice() extrai uma parte de uma string com base em uma posição inicial e final opcional. Quando você precisa obter o primeiro nome de um nome completo, isolar um domínio de um e-mail ou pegar um conjunto específico de caracteres de um código, o slice() é a ferramenta certa. Este artigo explica como a função funciona, fornece exemplos passo a passo e aborda erros comuns a evitar.
Principais conclusões: Como usar slice() em fórmulas do Notion
- Sintaxe slice(propriedade, início, fim): Extrai caracteres de uma propriedade de texto usando índices baseados em zero;
fimé opcional e exclusivo. - Valores de índice negativos: Contam a partir do final da string;
-1é o último caractere,-2é o penúltimo, e assim por diante. - Combine com outras funções como length() e find(): Use posições dinâmicas para fatiar strings de comprimento variável, como domínios de e-mail ou extensões de arquivo.
O que a função slice() faz em uma fórmula do Notion
A função slice() retorna uma substring de uma propriedade de texto ou de um resultado de fórmula. Ela usa indexação baseada em zero, ou seja, o primeiro caractere está na posição 0. A sintaxe é slice(propriedade, início, fim), onde propriedade é o texto a ser fatiado, início é o índice do primeiro caractere a incluir e fim é o índice do caractere anterior ao qual parar. Se você omitir fim, a função retorna todos os caracteres a partir de início até o final da string.
Por exemplo, slice("Notion", 0, 3) retorna "Not". Os caracteres nas posições 0 (N), 1 (o) e 2 (t) são incluídos, mas a posição 3 (i) não. Esse comportamento é padrão em muitas linguagens de programação e é chamado de intervalo “meio aberto”.
Pré-requisitos para usar slice():
- Você precisa de um banco de dados do Notion com pelo menos uma propriedade de texto ou uma fórmula que produza texto.
- A função funciona apenas em strings de texto. Se aplicada a um número ou data, o Notion converte o valor para texto primeiro.
- Você deve entender a indexação baseada em zero para obter os resultados corretos.
Passos para escrever uma fórmula slice() em um banco de dados do Notion
Siga estes passos para adicionar uma fórmula que usa slice() a uma propriedade de banco de dados do Notion.
- Abra o banco de dados e adicione uma propriedade de fórmula
Navegue até a página do Notion que contém seu banco de dados. Clique no botão+no cabeçalho da última coluna da visualização de tabela. Selecione Fórmula na lista de tipos de propriedade. Nomeie a propriedade, por exemplo “Primeiro Nome” ou “Domínio”. - Clique dentro do editor de fórmulas
Um novo campo de fórmula vazio aparece. Clique nele para abrir o painel do editor de fórmulas no lado direito da janela. O editor fornece uma área de entrada de texto e uma lista de funções disponíveis. - Digite a função slice()
Insiraslice(. O editor mostra uma dica explicando os parâmetros:string,inícioefim(opcional). - Insira a propriedade de origem
Clique no botão Inserir uma propriedade no editor, ou digiteprop("Nome da Propriedade")manualmente. SubstituaNome da Propriedadepelo nome exato da propriedade de texto que você deseja fatiar. - Especifique as posições inicial e final
Após a propriedade de origem, digite uma vírgula e o índice inicial. Por exemplo,, 0começa no primeiro caractere. Digite outra vírgula e o índice final, por exemplo, 5. Feche a função com um parêntese de fechamento. A fórmula completa fica assim:slice(prop("Nome Completo"), 0, 5). - Clique em Concluído para salvar a fórmula
A fórmula processa cada linha do banco de dados. Se a propriedade de origem estiver vazia, a fórmula retorna uma string vazia. Revise os resultados para verificar se o fatiamento funcionou como esperado.
Exemplo: Extrair a primeira palavra de um nome completo
Suponha que você tenha uma propriedade chamada “Nome Completo” que contenha valores como “João Silva”. Para extrair apenas “João”, use slice(prop("Nome Completo"), 0, 4). O espaço na posição 4 é o índice final, então o resultado são os primeiros quatro caracteres: J, o, ã, o.
Exemplo: Usar índice negativo para obter os últimos 3 caracteres
Se a propriedade “Código” contiver valores como “XYZ-123”, você pode obter os três últimos dígitos com slice(prop("Código"), -3). O índice inicial -3 instrui o Notion a começar três caracteres antes do final. Como nenhum índice final é fornecido, o fatiamento vai até o final da string. O resultado é “123”.
Exemplo: Fatiar uma string de comprimento dinâmico usando find()
Para extrair o domínio de um endereço de e-mail como “usuario@exemplo.com”, use slice(prop("Email"), find("@", prop("Email")) + 1). A função find() retorna a posição do símbolo @. Adicionar 1 move o índice inicial para o primeiro caractere após @. O resultado é “exemplo.com”.
Erros comuns ao usar slice() em fórmulas do Notion
Obtenho um resultado vazio ou caracteres errados
Isso geralmente acontece quando o índice inicial ou final está fora do intervalo. Se o início for maior ou igual ao comprimento da string, slice() retorna uma string vazia. Se o fim for menor que o início, o resultado também é vazio. Verifique o comprimento do texto de origem usando a função length(): length(prop("Texto")). Certifique-se de que o índice inicial seja menor que o comprimento total.
A fórmula retorna texto em vez de número
A função slice() sempre retorna um resultado de texto. Se você precisar de um número, envolva o slice com a função toNumber(). Por exemplo, toNumber(slice(prop("Código"), -3)) converte a substring extraída em um número que pode ser usado em fórmulas matemáticas.
Espaços ou caracteres especiais desviam o fatiamento
O índice do slice conta todos os caracteres, incluindo espaços, pontuação e emojis. Um único caractere emoji conta como uma posição de índice, mas algumas sequências de emoji (como bandeiras ou modificadores de tom de pele) podem contar como vários caracteres. Teste com uma string conhecida primeiro para confirmar as posições exatas.
Comparação entre slice() e as funções left() e right()
| Item | slice() | left() e right() |
|---|---|---|
| Descrição | Extrai uma substring de qualquer posição inicial a qualquer posição final | left() extrai do início; right() extrai do final |
| Parâmetros | slice(texto, início, fim) onde fim é opcional |
left(texto, quantidade) e right(texto, quantidade) |
| Índices negativos | Suportados — conta a partir do final da string | Não suportados — apenas inteiros positivos para quantidade |
| Caso de uso | Extrair uma parte do meio, fatiamento dinâmico com find() | Obter um número fixo de caracteres do início ou do final |
A função left() é mais simples quando você sempre quer os primeiros N caracteres. Por exemplo, left(prop("Nome"), 1) retorna a primeira letra. A função right() é melhor para os últimos N caracteres, como right(prop("Telefone"), 4) para obter os últimos quatro dígitos. Use slice() quando precisar de uma parte do meio ou quando a posição inicial depender de outra função como find().
Agora você pode escrever fórmulas slice() para extrair qualquer parte de uma string de texto em seus bancos de dados do Notion. Comece testando com um fatiamento de índice fixo simples e depois passe para fatiamentos dinâmicos usando find() ou length(). Para manipulação avançada de texto, combine slice() com replace() e concat() para construir strings de saída complexas. Lembre-se de que os índices são baseados em zero e o índice final é exclusivo.