Remover linhas vazias

Apague linhas vazias ou só com espaços, preservando o restante do texto.

Descrição

Linhas vazias são o lixo invisível dos arquivos de texto. Elas não aparecem na tela como um problema, não têm conteúdo útil, mas ocupam espaço, afetam contagens de linha e viram ruído em diffs de código e comparações de arquivos. O problema é que o conceito de vazia não é universalmente aceito: uma linha literalmente sem nenhum caractere antes da quebra de linha é vazia por qualquer critério; mas uma linha com apenas espaços e tabs não contém nada visível e costuma ser igualmente indesejada.

A origem mais comum de linhas extras é a colagem de conteúdo de múltiplas fontes. Um parágrafo copiado de um site, uma lista colada de uma planilha, um trecho de log extraído de um terminal — cada fonte tem sua própria convenção de espaçamento vertical. O resultado é um texto cheio de buracos irregulares que tornam a leitura e o processamento mais difíceis do que deveriam ser.

Em processamento de texto no terminal, ferramentas como sed e awk têm comandos clássicos para isso que existem há décadas — porque o problema existe há décadas. Em Python, um simples list comprehension com .strip() resolve em uma linha. Esses padrões continuam relevantes toda vez que alguém copia e cola texto de fontes diferentes.

Detalhamento técnico

O que conta como linha vazia

  • Linha completamente vazia: a sequência de fim de linha (LF, CRLF ou CR) aparece imediatamente após outro fim de linha. Não há absolutamente nenhum caractere entre as duas quebras.
  • Linha só com espaços em branco: contém um ou mais espaços, tabs ou outros caracteres de espaçamento, mas nenhum caractere visível. Visualmente indistinguível de uma linha vazia na maioria dos editores.
  • A opção de ignorar apenas espaços remove linhas que contenham somente espaços Unicode (incluindo espaço não-quebrável, U+00A0), mas preserva linhas com qualquer caractere visível.
  • Fim de arquivo sem quebra de linha: alguns editores adicionam uma linha vazia implícita no final do arquivo. Isso é diferente de uma linha vazia real e normalmente não deve ser removido.

Casos de uso frequentes

  • Limpar texto copiado de PDFs, que frequentemente introduz linhas em branco entre parágrafos durante a extração.
  • Normalizar arquivos de configuração INI, TOML ou properties que acumularam linhas em branco ao longo de edições manuais.
  • Preparar listas de palavras-chave ou tags para processamento automatizado, removendo entradas vazias que causariam elementos nulos na divisão por linha.
  • Reduzir o tamanho de arquivos de log antes de enviá-los por e-mail ou fazer upload em tickets de suporte.
  • Eliminar quebras duplas de parágrafo em markdown antes de converter para HTML, quando o destino não usa espaçamento extra.

Guia da ferramenta

  • O objeto tratado Texto multilinha.

  • O que a ferramenta faz Remove linhas completamente vazias e, opcionalmente, linhas que só contêm espaços ou tabs.

  • Por que usar Compactar logs, poemas, CSV colados ou qualquer bloco onde linhas em branco atrapalham processamento ou leitura.

Exemplo de Código

Remover linhas vazias em JavaScript
// Remove linhas completamente vazias
const resultado = text
  .split('\n')
  .filter(line => line.length > 0)
  .join('\n');

// Remove também linhas só com espaços
const resultadoTrim = text
  .split('\n')
  .filter(line => line.trim().length > 0)
  .join('\n');
Equivalente com regex
// Linha vazia (só \n\n)
const s1 = text.replace(/^\n/gm, '').replace(/\n{2,}/g, '\n');

// Linha vazia ou só com espaços
const s2 = text.split('\n').filter(l => l.trim()).join('\n');

Antes

a

  
b → a
b (com opção de ignorar só espaços)

Perguntas frequentes

Para que serve esta ferramenta?

Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.

Meus dados são enviados a algum servidor?

O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.

Posso usar em produção ou para dados reais?

Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.