contacara

Remover linhas duplicadas com critérios explícitos

Defina se as linhas precisam coincidir exatamente ou podem diferir na caixa e nos espaços das bordas. A ferramenta mantém a primeira ocorrência e a ordem. Ignorar espaços na comparação não significa reescrever o texto mantido.

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.

Seis linhas viram Roma e Milano ao ignorar maiúsculas e espaços nas bordas e remover vazias.
Amostra italiana exata. A linha vazia final é a sexta. Diagrama explicativo, não captura de aplicativo. Abrir o JPG no tamanho original

Quatro critérios nas mesmas seis linhas

OpçõesMantidasRemovidasResultado
Exata51Roma; roma; ␠Roma␠; Milano; vazia
Ignorar bordas42Roma; roma; Milano; vazia
Ignorar bordas e caixa33Roma; Milano; vazia
Também remover vazias24Roma; Milano
Original: Roma, roma, ␠Roma␠, Roma, Milano e linha final vazia. ␠ representa U+0020. Cada teste recomeça com seis linhas.

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.

Abrir a ferramenta