Limpar uma lista sem alterar seus valores
Para limpar uma lista mantendo a escrita dos itens preservados, trabalhe numa cópia, remova somente as linhas desnecessárias e comece pelas duplicados 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
Guarde o original antes de qualquer alteração. Verifique 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 carácter 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 carácter 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 duplicados
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 a ser significativos. Dois acentos visualmente iguais, mas codificados de formas diferentes em Unicode, não são normalizados automaticamente para eliminar duplicados.
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 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 duplicados exatas. O comportamento baseia-se 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 carácter por carácter. 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 na aplicação de destino.
Perguntas frequentes
Por que uma aparente duplicado continua na lista?
Verifique 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 compreender a sua função.
É sempre necessário remover espaços antes das duplicados?
Não. Comece pela comparação exata. Às vezes, ignorar os espaços já permite remover duplicados preservando a escrita da primeira ocorrência.
Processamento local significa que não há nenhuma ligaçã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.