Removedor de espaços e limpador de texto
Limpe texto bagunçado removendo espaços supérfluos, tabulações e linhas vazias.
Como usar
- Cole seu texto na área de entrada.
- Selecione as opções de limpeza desejadas (todas marcadas por padrão).
- Clique em Limpar o texto para processar.
- Copie ou baixe o resultado limpo.
Perguntas frequentes
O que conta como espaço em branco ?
Os espaços, tabulações, espaços inquebráveis e outros caracteres de espaçamento Unicode. As quebras de linha são tratadas separadamente pelas opções « linhas vazias » e « reduzir quebras de linha ».
Esta ferramenta modifica meu conteúdo ?
Não. Ela remove ou reduz apenas caracteres de espaçamento. Suas palavras, pontuação e demais conteúdos permanecem intactos.
Posso usá-la para código ?
Pode, mas com cautela · remover os espaços iniciais destruirá a indentação do código. Use as caixas individuais para controlar exatamente o que é limpo.
O que «espaço em branco» realmente significa
Um caractere de espaço em branco é aquele que produz espaço vazio quando o texto é renderizado, em vez de um glifo visível, usado para separar palavras, indentar linhas e quebrar parágrafos. O Unicode Character Database atribui a propriedade formal White_Space a exatamente 25 pontos de código. Os suspeitos de sempre (espaço, tabulação, avanço de linha, retorno de carro) cobrem a maior parte do que você vai colar, mas a lista completa também inclui o espaço sem quebra (U+00A0), o espaço estreito sem quebra (U+202F), 11 espaços tipográficos na faixa U+2000-U+200A, os separadores de linha e de parágrafo (U+2028, U+2029), o espaço matemático médio (U+205F) e o espaço ideográfico de largura completa (U+3000) usado após a pontuação CJK.
Um grupo separado parece invisível, mas não é classificado como espaço em branco pelo Unicode: a marca de ordem de bytes (U+FEFF), o espaço de largura zero (U+200B), o juntador e o não juntador de largura zero (U+200D, U+200C), o juntador de palavras (U+2060) e o hífen suave (U+00AD). Esses são controles de formatação, não espaços, a maioria dos relatos de «limpei meu texto mas algo ainda está errado» remonta a um deles.
O que esta ferramenta faz, opção por opção
- Recortar espaços no início/fim de cada linha: remove o espaço em branco no começo e no fim de cada linha individual. Útil para limpar citações indentadas de e-mail, ou o preenchimento à direita acidentalmente adicionado durante o copiar e colar.
- Reduzir espaços múltiplos a um só: sequências de dois ou mais espaços viram um único espaço. Lida com o hábito de máquina de escrever de colocar dois espaços depois de um ponto (que a maioria dos guias de estilo modernos (Chicago, AP) desencoraja).
- Remover linhas vazias: descarta qualquer linha que esteja vazia ou contenha apenas espaço em branco. Uma necessidade comum depois de colar texto de PDFs.
- Converter tabulações em espaços: substitui cada
\tpor espaços. Tenha cautela em código: Python e YAML são sensíveis a espaço em branco, e os Makefiles na verdade exigem indentação por tabulação nas linhas de receita. - Recortar início e fim de todo o texto: remove o espaço em branco do começo e do fim da string inteira de uma vez (o equivalente ao
trim()do JavaScript). - Reduzir quebras de linha múltiplas a uma só: sequências de caracteres de quebra de linha consecutivos viram uma única quebra de linha. Útil quando o «Remover linhas vazias» é agressivo demais e você quer manter uma única linha vazia para as quebras de parágrafo.
Todas as seis opções são botões independentes (desmarque qualquer uma que você queira pular) e cada uma roda apenas sobre o texto que você cola. Nada é enviado; a limpeza acontece no seu navegador via passagens de regex em JavaScript.
Quando você recorreria a isto
- PDFs e documentos do Word. Os PDFs inserem quebras de linha rígidas no fim visual de cada linha e às vezes preservam a hifenização; o texto colado do Word muitas vezes tem espaços sem quebra entre números e unidades (10 km), em torno da pontuação francesa, ou depois de pronomes de tratamento como Sr. Smith.
- Normalizar a entrada do usuário. Espaços ao final em um campo «Nome» ou de e-mail fazem
"Smith"e"Smith "comparar como diferentes. Removê-los na entrada (ou antes da busca) elimina uma classe inteira de bugs de «usuário não encontrado». - Preparação de CSV e TSV. Valores de campo com espaços no início ou no fim arruínam parsers a jusante que esperam chaves de correspondência exata. A exportação de CSV em UTF-8 do Excel prefixa silenciosamente uma marca de ordem de bytes, que um parser a jusante que não remove o BOM verá como parte do cabeçalho da primeira coluna, produzindo um
colnamede aparência estranha. - Rascunhos de Markdown e de blog. Várias linhas em branco consecutivas renderizam como um único bloco no Markdown, mas incham os arquivos de origem e deixam os diffs ruidosos.
- Assinaturas de e-mail, transcrições de chat e identificadores: uma limpeza rápida antes de colá-los em outro documento, ou antes de enviar um código promocional ou uma chave de licença para uma API que é rigorosa quanto a espaço em branco.
Ciladas comuns
- Remover o espaço em branco inicial quebra o código. Python e YAML usam a indentação como sintaxe. Remova-a e o arquivo parece idêntico aos olhos, mas não vai ser analisado.
- A conversão de tabulações quebra os Makefiles. O GNU make se recusa a rodar se as linhas de receita estão indentadas com espaços em vez de tabulações. A mesma cautela se aplica à saída do gofmt do Go.
- O NBSP parece idêntico a um espaço. Um usuário frequentemente vê um único «espaço» entre duas palavras e presume que qualquer limpador vai pegá-lo. O regex
\sdo JavaScript de fato casa com o espaço sem quebra nos navegadores modernos, mas se você está escrevendo o seu próprio regex em outra linguagem (ou em um ambiente muito antigo), pode precisar listar o NBSP explicitamente. - O espaço em branco ao final no Markdown é significativo. Dois espaços ao final de uma linha de Markdown criam uma quebra de linha
<br>. Recortar o espaço em branco ao final de cada linha remove essas quebras de linha; se você depende delas, deixe a opção desligada. - Finais de linha do Windows. Os arquivos copiados de uma origem Windows usam CRLF (
\r\n). As passagens de «remover linhas vazias» e «reduzir quebras de linha» precisam reconhecer o CR; caso contrário, um\rperdido pode sobreviver no fim de cada linha. - Os caracteres de largura zero sobrevivem a uma remoção de espaço em branco. O ZWSP (U+200B), o ZWJ (U+200D), o ZWNJ (U+200C), o juntador de palavras (U+2060) e o hífen suave (U+00AD) não são espaço em branco do Unicode, então um limpador de espaço em branco genérico não vai tocá-los. Se o seu texto parece estranho depois da limpeza, cole-o em um visualizador hex ou em um inspetor de «caracteres invisíveis» separado.
- Proporção entre entrada e saída. A limpeza é irreversível dentro desta página depois que você copia ou fecha, não há histórico de desfazer. Mantenha o original em algum lugar caso você precise dele.
Breve contexto técnico
Esta ferramenta roda inteiramente no seu navegador usando o motor de regex embutido do JavaScript. O String.prototype.trim() nos motores modernos (todo navegador evergreen desde por volta de 2015) remove tanto o espaço sem quebra quanto a marca de ordem de bytes, porque a spec do ECMAScript define o seu conjunto de recorte como a união das produções WhiteSpace e LineTerminator, uma lista que cobre tabulações, espaço comum, NBSP, BOM, os espaços tipográficos e as quebras CR / LF / LS / PS. Ela exclui apenas um caractere de espaço em branco do Unicode, U+0085 (NEL), que é uma curiosidade herdada do EBCDIC e quase nunca aparece em texto moderno.
Para entradas muito grandes, a parte lenta raramente é a passagem de regex, é escrever o resultado de volta na área de texto e re-renderizar o DOM. Entradas de até alguns megabytes geralmente vão bem em um laptop moderno; além disso, ferramentas de linha de comando (tr, sed, awk, ou um pequeno script Python) costumam ser mais rápidas.
Mais perguntas
Qual é a diferença entre um espaço normal e um espaço sem quebra?
Eles renderizam com a mesma largura, mas o espaço sem quebra (NBSP, U+00A0) diz ao renderizador para não quebrar uma linha naquele ponto. O Word, o Google Docs e muitos CMSes o inserem entre pronomes de tratamento e sobrenomes (Sr. Smith), entre números e unidades (10 km), ou em torno de símbolos de moeda (R$ 5). É o caractere «estranho» mais comum de encontrar em texto colado, e é por isso que o espaço de aparência igual entre duas palavras às vezes resiste a um regex escrito para espaços comuns.
Isso vai remover caracteres de largura zero ou a marca de ordem de bytes?
O tratamento de espaço em branco do JavaScript geralmente pega a marca de ordem de bytes (U+FEFF). Ele não pega o espaço de largura zero (U+200B), o juntador de largura zero (U+200D), o não juntador de largura zero (U+200C), o juntador de palavras (U+2060) nem o hífen suave (U+00AD), o Unicode não classifica esses como espaço em branco, então eles sobrevivem a uma passagem de espaço em branco por design. Se você suspeita que um desses está no seu texto, vai precisar de um inspetor de caracteres invisíveis.
Por que linhas vazias e quebras de linha consecutivas são duas opções separadas?
O «Remover linhas vazias» deleta toda linha vazia, o resultado é um bloco contínuo de texto sem quebras de parágrafo. O «Reduzir quebras de linha múltiplas a uma só» mantém uma única quebra de linha entre os parágrafos e remove apenas as extras. Se você quer parágrafos legíveis na saída, deixe a primeira opção desligada e use a segunda.
Há um limite de tamanho?
Não há limite rígido, a ferramenta consegue lidar confortavelmente com texto na faixa de dezenas de milhares a alguns milhões de caracteres em um laptop moderno. O limite é o desempenho da área de texto do seu navegador: colagens muito grandes começam a travar durante a digitação ou a cópia, não durante a etapa de limpeza em si.
Algo é enviado a um servidor?
Não. O texto nunca sai do seu navegador. A limpeza roda localmente em JavaScript, o resultado é escrito de volta em uma área de texto na mesma página, e você pode usar a página offline depois de carregada. O mesmo se aplica a toda ferramenta do Absolutool.