Conferir se cada linha é um item
Uma cidade por linha combina com esse tratamento. Narrativa, versos e tabelas irregulares podem ter repetições necessárias, refrões ou partes de registros maiores. Linhas com tabulações são comparadas inteiras. Pessoas com mesmo sobrenome e endereços diferentes não são duplicatas. Para comparar uma coluna, extraia-a mantendo referências às linhas originais; excluir registros completos exige chaves e colunas apropriadas.
Usar correspondência exata
A comparação sensível à caixa distingue Roma e roma; Roma também difere se bordas não forem ignoradas. O princípio dos valores únicos de Set é aplicado às chaves, preservando a primeira ocorrência. “Exato” ainda segue a normalização CRLF e NFC do site: não compara bytes originais. Para identificadores ou verificação forense, preserve o arquivo e confira NFC e NFD.
Ignorar bordas não significa limpá-las
O recorte cria a chave de comparação, mas a saída mantém o texto da entrada normalizada. Se Roma vier primeiro, seus espaços podem permanecer. San Marco e San Marco continuam diferentes pelos espaços internos. Separe igualdade, escolha da ocorrência e reescrita. Se precisar limpar, execute e confira explicitamente a redução de espaços.
Comparar sem distinguir maiúsculas
ROMA, Roma e roma podem representar a mesma categoria. As chaves viram minúsculas conforme o idioma da interface; a saída guarda a primeira grafia, não uma preferência editorial. Os literais italianos mantêm a forma original. Senhas e códigos podem exigir distinção de caixa. Ignorá-la não remove acentos nem agrupa nomes semelhantes, abreviações e variantes ortográficas.
Reproduzir o teste de seis linhas
As seis linhas originais são Roma, roma, Roma , Roma, Milano e uma vazia final. A comparação exata mantém cinco; ignorar bordas deixa quatro; ignorar também a caixa deixa três, incluindo a vazia. Removendo vazias, ficam Roma e Milano. Reproduza na ferramenta com a quebra final: omiti-la muda a amostra.
Distinguir linhas vazias e espaços
Remover vazias é uma decisão separada. A primeira linha vazia pode permanecer sem essa opção. Linhas apenas com espaços podem ter chaves diferentes até ignorar bordas; a remoção também descarta as vazias após recortar brancos. Linhas vazias podem dividir grupos importantes. Processe grupos separadamente ou preserve sua categoria: o mesmo texto pode ser necessário em contextos diferentes.
Manter a primeira ocorrência
O resultado mantém prioridades, itinerários e ordem documental, sem ordenar alfabeticamente. Se precisar ordenar, faça depois e separadamente para revisar exclusões. Uma primeira variante em minúsculas sobrevive à grafia posterior mais adequada. Corrija de propósito e considere isso antes de reordenar a entrada. Preserve números de linha ou referências: o total removido não documenta sozinho as equivalências escolhidas.
Conferir o resultado
Com todas as opções do exemplo, seis iniciais = quatro removidas + duas mantidas. Confira também um par de cada equivalência desejada e outro que deve continuar distinto: a soma não basta. Diante de surpresa, desative uma opção por vez numa amostra pequena. Invisíveis e espaços internos impedem correspondências; regras amplas podem apagar itens legítimos. Inspecione os pares reais.

Quatro critérios nas mesmas seis linhas
| Opções | Mantidas | Removidas | Resultado |
|---|---|---|---|
| Exata | 5 | 1 | Roma; roma; ␠Roma␠; Milano; vazia |
| Ignorar bordas | 4 | 2 | Roma; roma; Milano; vazia |
| Ignorar bordas e caixa | 3 | 3 | Roma; Milano; vazia |
| Também remover vazias | 2 | 4 | Roma; Milano |
Fontes e verificações
- MDN: Set · Compare linhas exatas ou ignore caixa e espaços nas bordas, mantendo a primeira ocorrência e sua posição.
- MDN: String.trim() · Compare linhas exatas ou ignore caixa e espaços nas bordas, mantendo a primeira ocorrência e sua posição.