Cole um item por linha e processe o texto. A comparação considera o conteúdo como foi digitado, incluindo maiúsculas e espaços.
Funciona localmente no seu navegadorCole um item por linha e pressione Remover linhas duplicadas. A primeira ocorrência de cada linha fica onde estava e as cópias seguintes são descartadas, então o resultado mantém a ordem original em vez de ordenar a lista.
A comparação é exata: “Apple” e “apple” são duas linhas diferentes, e “apple” e “apple ” com um espaço no fim também. As três caixas de seleção abaixo relaxam essa regra quando a lista veio de fontes diferentes.
Cada linha é comparada exatamente como foi digitada, caractere por caractere. Maiúsculas e minúsculas contam (“Total” e “total” são linhas diferentes), um espaço no fim conta, e duas linhas que parecem iguais podem não ser: um espaço fixo (U+00A0) no lugar de um espaço comum, ou um acento escrito como caractere combinante em vez de um único ponto de código, mantêm as linhas separadas. É por isso que uma lista copiada de uma página web ou de um PDF às vezes mantém uma “duplicata” que o olho não vê.
Linhas em branco também contam como conteúdo. Uma sequência de linhas em branco se reduz a uma única linha, e uma lista que termina com quebra de linha é tratada como se terminasse no último item: a quebra não acrescenta mais uma linha vazia ao resultado, como fazia a versão anterior desta página.
Ignorar maiúsculas e minúsculas compara as linhas em minúsculas. Ignorar espaços no início e no fim apara cada linha e reduz sequências de espaços (tabuladores incluídos) a um único espaço, então “ JS tools ” corresponde a “js tools”. Remover linhas em branco tira as linhas vazias do resultado. A linha mantida é sempre a primeira como foi escrita, nunca a forma normalizada.
A linha “Linhas de entrada / Removidas / Linhas de saída” mostra o que aconteceu: as de entrada contam as linhas lidas (a quebra final não conta), as removidas contam cada linha descartada e as de saída as que restaram. O resultado é texto simples, pronto para colar em uma coluna de planilha, em uma lista IN de SQL ou em um array de código.
A ferramenta roda neste navegador: lê o texto da caixa, deduplica localmente e mostra o resultado de novo, sem enviar nada. Medido nesta versão com Chrome real: nenhuma requisição sai da página enquanto uma lista é processada.
Resultados com mais de 50.000 caracteres aparecem sem cores de sintaxe, porque o realçador compartilhado para nesse ponto; o texto não muda. Linhas cujo valor coincide com o nome de uma propriedade de objeto JavaScript —toString, constructor, valueOf, hasOwnProperty, __proto__ e afins— eram apagadas pela versão anterior mesmo quando apareciam uma única vez. Esta versão as mantém, e é por isso que as contagens podem diferir das que a página devolvia antes.