ForHosting KIT · Texto e IA

Remover linhas em branco no inicio e no fim

Cole um bloco com duas linhas vazias em cima e duas embaixo: essas quatro somem e as três linhas do meio ficam intactas, com seus espaços e recuos. Nas bordas, uma linha só com espaços ou tabulações conta como vazia. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Texto
Hello world Keep this spacing
Você obtém
Entrada
Hello world Keep this spacing
Texto
Hello world Keep this spacing
Contagem de linhas
3
Linhas
Hello world , , Keep this spacing

Trechos colados e documentos exportados costumam chegar com um halo de linhas vazias no topo e na base que ninguém pediu. Esta ferramenta remove só essas linhas em branco das bordas e nada mais: parágrafos internos, o espaço extra deixado entre seções e o preenchimento de uma linha com conteúdo permanecem exatamente iguais. Envie qualquer string—um rascunho de e-mail, um arquivo Markdown, um dump de log ou uma redação—e o motor normaliza as quebras de linha do Windows e do Mac antigo, avança dos dois extremos até achar uma linha com texto visível e devolve o bloco restante. Linhas só de espaços contam como em branco, então uma fileira de espaços ou um tab solto no começo de um paste é descartada como uma linha de fato vazia.

O que significa aparar linhas em branco nas bordas e por que não é String.trim

A maioria dos editores oferece um trim de string inteira que só descasca espaços do primeiro e do último caractere de um buffer. Essa é a ferramenta errada quando a bagunça que importa são linhas vazias empilhadas acima de um título ou depois de uma assinatura, enquanto o corpo ainda precisa dos vãos de parágrafo e das citações recuadas.

Esta capacidade percorre a lista de linhas, não a lista de caracteres: depois que finais Windows CRLF e o CR legado são normalizados para LF, o texto é dividido em LF; o passe começa no índice zero e avança enquanto cada linha estiver vazia ou contiver só espaços Unicode, e um passe gêmeo começa no último índice e recua.

A primeira e a última linha que ainda têm caracteres visíveis viram as novas bordas; tudo entre elas é copiado sem mudança, inclusive os separadores em branco que se quis manter e os espaços que vivem dentro de uma frase. Uma linha só de espaços ou tabs é tratada como em branco nas bordas, porque é assim que costumam parecer logs de chat colados e documentos exportados do Word.

Uma linha que ainda tem letra, dígito ou pontuação é conteúdo mesmo com recuo inicial, então amostras de código e listas aninhadas conservam o preenchimento da primeira coluna. O algoritmo nunca funde duas linhas internas em branco em uma, nunca junta parágrafos e nunca apara a esquerda nem a direita de uma linha com conteúdo. Esse contrato é o que se busca ao procurar remover linhas em branco no início e no fim, não aparar cada linha nem colapsar todo o espaço.

Dicas práticas, limites e buscas relacionadas

Use esta capacidade quando a intenção de busca for remover linhas em branco do início e do fim, tirar fileiras vazias de cabeçalho e rodapé, ou arrumar um trecho colado sem tocar o espaçamento interno. Tenha as ferramentas irmãs em mente. O trim de espaços por linha é outro trabalho: aquela página tira espaços de cada linha e não descarta fileiras vazias.

Colapsar todo o espaço e remover todos os espaços também são outros trabalhos: destroem o ritmo interno de um documento. Remover todas as quebras junta o arquivo numa linha só. Contar parágrafos ou linhas relata a estrutura sem mudá-la.

Prefira esta página quando o documento já está diagramado e só falta tirar o halo vazio antes de guardar, enviar ou imprimir. HTML e Markdown são tratados como texto cru: tags não são removidas, e uma linha só de marcação ainda conta como conteúdo se tiver caracteres visíveis. Ao ensinar ou integrar revisores, mostre a mesma amostra antes e depois para que se veja que só mudam as linhas em branco das bordas e que o espaçamento interno das palavras mais as fileiras vazias internas ficam intactos.

Arrumar e-mails e exportações de chat colados

Tire o halo vazio acima da saudação e abaixo da assinatura, mantendo a linha em branco que separa os parágrafos.

Normalizar lições e dumps Markdown

Professores e pipelines de site estático descartam fileiras vazias iniciais e finais dos arquivos enviados antes de guardar ou renderizar o corpo.

Isto apaga linhas em branco no meio do texto?

Não. Só saem as linhas em branco do começo absoluto e do fim absoluto. Fileiras vazias internas ficam onde estão.

Espaços entre palavras ou no início de uma linha com conteúdo são removidos?

Não. Linhas com conteúdo são copiadas sem mudança. Recuo inicial, espaços finais de uma linha não vazia e espaços duplos dentro de uma frase são preservados.

O que conta como linha em branco?

Uma linha sem caracteres, ou uma que contém só espaços como espaços ou tabs. Uma linha com qualquer caractere visível é conteúdo.

O que acontece se o campo text for omitido?

Uma string vazia é aceita e devolve um documento limpo vazio.

Aparar linhas em branco nas bordas é grátis?

A ferramenta do navegador é grátis e roda no aparelho.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/str/trim-blank-edges

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/str/trim-blank-edges \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"\n\n  Hello world  \n\nKeep  this  spacing\n\n"}'
{
  "text": "\n\n  Hello world  \n\nKeep  this  spacing\n\n"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.trim_blank_edges",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_chars100000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

O caminho é um parse determinístico, sem rede, sem relógio e sem acaso, de modo que o executor gratuito do navegador e a API devolvem o mesmo JSON em toda chamada.

Como chamar a API e o que a resposta contém

Uma string vazia é válida: não há linhas de conteúdo, então o resultado é um campo text vazio, zero linhas restantes e um message que informa quantos brancos de borda saíram daquele buffer vazio. Prefira enviar o corpo multilinha cru em vez de apará-lo antes quando quiser que as contagens e o changed reflitam o paste original. Envie um corpo JSON com o campo string obrigatório text. Os alias input, value, string, s, content e body são aceitos para que clientes antigos não precisem renomear o payload. O valor deve ser uma string e não pode passar de cem mil caracteres, um teto rígido que impede que um único paste esgote a memória do Worker ou do navegador. Se faltar text, se vier null, se o tipo não for string ou se o payload for grande demais, a resposta é invalid_input e nada é cobrado. Em sucesso a resposta devolve input como a string original enviada, text como o resultado aparado nas bordas unido com LF, line_count como o número de linhas restantes inclusive as internas em branco, lines como esse array ordenado, leading_blank_lines e trailing_blank_lines como as contagens retiradas de cada ponta, blank_lines_removed como a soma, chars_before e chars_after como os comprimentos da string original e da limpa, changed como true quando pelo menos uma linha em branco de borda caiu, e message como um resumo curto em inglês. O preço é um US$ 0,002 fixo por requisição bem-sucedida com unidade item. Na integração, asserja sobre text ou lines para o documento limpo, compare leading_blank_lines e trailing_blank_lines em regressões e trate invalid_input como bug do cliente por campo ausente, não como evento de cobrança.

Dicas práticas, limites e buscas relacionadas

Checagens de ida e volta para testes são simples: envie duas linhas vazias, um título, um branco interno, uma linha de corpo e mais duas vazias, e espere o título e o corpo com o branco interno ainda entre eles; envie uma primeira linha só de espaços e uma última só de tab ao redor de um parágrafo e confirme que essas bordas somem enquanto o recuo do parágrafo permanece; omita text de propósito para confirmar que invalid_input nomeia o campo. Tarefas que devolvem invalid_input não consomem saldo pré-pago, o que deixa barata a validação de formulários e os testes negativos de CI.

Preparar fixtures de log e trechos

Scripts de QA colam a saída do console com fileiras vazias extras nas duas pontas e precisam de um fixture estável que ainda preserve o espaçamento interno.

Ver a documentação completa do KIT →