Limpar uma lista sem alterar seus valores
Para limpar uma lista mantendo a escrita dos itens preservados, trabalhe em uma cópia, remova somente as linhas desnecessárias e comece pelas duplicatas exatas. Trate a ordenação e a remoção de espaços como decisões separadas. Uma letra maiúscula, um zero à esquerda ou um espaço podem fazer parte de um identificador.
Definir o que pode ser removido
Salve o original antes de qualquer alteração. Confira se cada linha realmente corresponde a um item independente. Uma repetição pode representar várias operações reais; uma linha vazia pode separar grupos. Nesses casos, removê-las altera a informação, mesmo que o texto das outras linhas permaneça intacto.
Não cole um CSV estruturado diretamente nessas ferramentas de linhas. Um campo entre aspas pode conter uma quebra de linha, e seus espaços fazem parte do valor, como descreve a RFC 4180. Para esse formato, consulte o guia de CSV para JSON.
Remover as linhas realmente desnecessárias
A ferramenta para remover linhas em branco elimina linhas sem caracteres e aquelas compostas apenas por caracteres de espaço em branco reconhecidos pelo JavaScript.
O espaço comum é um caractere específico; “espaço em branco” também inclui tabulações e certos espaços Unicode, como o espaço inseparável. A ferramenta preserva os espaços das linhas que contêm texto. No entanto, um caractere invisível nem sempre é um espaço em branco reconhecido: uma linha com um espaço de largura zero U+200B permanece.
Escolher a regra adequada para duplicatas
Na ferramenta para remover linhas duplicadas, há quatro opções:
- “Texto exato (padrão)” preserva as diferenças entre maiúsculas, minúsculas e espaçamento.
- “Ignorar maiúsculas e minúsculas” agrupa as variantes de letras conforme o idioma do navegador.
- “Ignorar espaços no começo e no fim” compara as linhas sem os espaços em branco das extremidades.
- “Ignorar maiúsculas e espaços externos” combina as duas flexibilizações.
Em todos os modos, a primeira linha correspondente mantém a escrita da entrada. Ignorar seus espaços na comparação não os remove do resultado. Os espaços internos continuam sendo significativos. Dois acentos visualmente iguais, mas codificados de formas diferentes em Unicode, não são normalizados automaticamente para eliminar duplicatas.
Testar com referências fictícias
Veja esta pequena lista. O ponto médio · representa um espaço real e ⇥ representa uma tabulação; esses símbolos servem apenas para facilitar a leitura do exemplo.
REF-0010 ·REF-0002· REF-0002 REF-0002 ref-0002 REF-2 ·⇥
A remoção de linhas em branco elimina a segunda e a última linha. Em seguida, o modo exato remove somente a segunda ocorrência idêntica de REF-0002. Ele mantém REF-0010, ·REF-0002·, REF-0002, ref-0002 e REF-2, nessa ordem.
Na lista sem linhas em branco, o modo que ignora espaços mantém ·REF-0002· e remove as duas linhas REF-0002 seguintes. A variante em minúsculas permanece. Com a opção combinada, ela também é removida. REF-2 continua diferente de REF-0002: os zeros à esquerda não são retirados.
Se você realmente quiser eliminar os espaços em branco das extremidades, use a ferramenta para remover espaços no início e no fim de cada linha. Essa etapa altera os valores. Ela mantém os espaços internos e as linhas vazias. Aplique esse tratamento somente se esses espaços forem indesejados e, se necessário, repita a remoção de duplicatas exatas. O comportamento se baseia em String.trim().
Ordenar somente se a ordem puder mudar
A ferramenta para ordenar linhas de texto oferece “Como texto (item10 antes de item2)” e “Pelo valor numérico (item2 antes de item10)”. Com REF-10 e REF-2, esses modos produzem, respectivamente, REF-10 seguido de REF-2 e a ordem inversa.
O modo numérico compara os números no texto sem reescrever as referências: os zeros à esquerda permanecem. As linhas consideradas equivalentes mantêm a ordem original; as linhas vazias vão para o início.
Os dois modos seguem as regras do idioma do navegador, ignoram a diferença entre maiúsculas e minúsculas e podem tratar certos acentos como equivalentes. Portanto, a ordem não resulta de uma comparação estrita caractere por caractere. A documentação de Intl.Collator explica essas diferenças entre idiomas. Preserve a ordem original se ela representar uma cronologia ou prioridade.
Verificações antes de substituir o original
- O original foi preservado separadamente.
- Cada linha removida corresponde a uma exclusão desejada.
- Maiúsculas, minúsculas, espaços significativos e zeros à esquerda foram preservados.
- O resultado foi testado no aplicativo de destino.
Perguntas frequentes
Por que uma aparente duplicata continua na lista?
Confira os espaços em branco, as maiúsculas e minúsculas e os caracteres Unicode. O modo exato respeita essas diferenças; não mude a regra sem entender sua função.
É sempre necessário remover espaços antes das duplicatas?
Não. Comece pela comparação exata. Às vezes, ignorar os espaços já permite remover duplicatas preservando a escrita da primeira ocorrência.
Processamento local significa que não há nenhuma conexão de rede?
O processamento acontece no navegador. Abrir a página carrega código e recursos do site: isso não garante uma navegação sem solicitações de rede.