Pulire una lista senza modificarne i valori

Per pulire una lista conservando la forma delle voci rimaste, lavora su una copia, rimuovi soltanto le righe superflue e inizia dai duplicati esatti. Considera l’ordinamento e la rimozione della spaziatura come scelte separate. Una maiuscola, uno zero iniziale o uno spazio possono far parte di un identificatore.

Decidere cosa si può eliminare

Salva l’originale prima di apportare modifiche. Verifica che ogni riga sia davvero una voce distinta. Una voce ripetuta può rappresentare più transazioni effettive; una riga vuota può separare dei gruppi. Eliminarle cambierebbe allora le informazioni, anche se il testo delle righe rimaste restasse intatto.

Non incollare direttamente dati CSV strutturati in questi strumenti basati sulle righe. Un campo tra virgolette può contenere un’interruzione di riga e i suoi spazi fanno parte del valore, come descritto nella RFC 4180, in inglese. Per questo formato, consulta invece la guida alla conversione da CSV a JSON.

Rimuovere solo le righe inutili

Lo strumento per rimuovere le righe vuote, elimina le righe senza caratteri e quelle composte interamente da caratteri di spaziatura riconosciuti da JavaScript.

Lo spazio ordinario è un carattere specifico; i “caratteri di spaziatura” includono anche tabulazioni e alcuni spazi Unicode, compreso quello non separabile. Lo strumento conserva gli spazi nelle righe che contengono testo. Un carattere invisibile, però, non è necessariamente riconosciuto come spaziatura: una riga che contiene uno spazio a larghezza zero U+200B rimane.

Scegliere la regola per riconoscere i duplicati

Lo strumento per rimuovere le righe duplicate, offre quattro opzioni:

In ogni modalità, la prima riga corrispondente rimane esattamente come nell’input. Ignorarne la spaziatura durante il confronto non la rimuove dal risultato. Gli spazi interni restano significativi. I caratteri accentati visivamente identici con rappresentazioni Unicode diverse non vengono normalizzati automaticamente per eliminare i duplicati.

Provare con codici di esempio

Ecco una breve lista. Il punto mediano · rappresenta uno spazio effettivo e ⇥ rappresenta una tabulazione; questi simboli servono soltanto a rendere leggibile l’esempio.

REF-0010

·REF-0002·
REF-0002
REF-0002
ref-0002
REF-2
·⇥

La rimozione delle righe vuote elimina la seconda e l’ultima riga. Il confronto esatto elimina poi soltanto la seconda occorrenza identica di REF-0002. Conserva REF-0010, ·REF-0002·, REF-0002, ref-0002 e REF-2, in questo ordine.

Nella lista senza righe vuote, la modalità che ignora la spaziatura conserva ·REF-0002· ed elimina le due voci REF-0002 successive. La variante minuscola rimane. Con l’opzione combinata scompare anche questa variante. REF-2 rimane distinto da REF-0002: gli zeri iniziali non vengono rimossi.

Se vuoi davvero rimuovere la spaziatura esterna, usa lo strumento per eliminare gli spazi ai bordi delle righe. Questo passaggio modifica i valori. Lascia al loro posto gli spazi interni e le righe vuote. Applicalo solo se quella spaziatura è indesiderata, poi ripeti il confronto esatto dei duplicati se necessario. Il comportamento si basa su String.trim(), documentato in inglese.

Ordinare solo se l’ordine può cambiare

Lo strumento per ordinare le righe alfabeticamente, offre “Come testo” e “Per valore numerico”. Con REF-10 e REF-2, queste modalità danno rispettivamente REF-10 seguito da REF-2 e l’ordine inverso.

La modalità numerica confronta i numeri nel testo senza riscrivere i codici: gli zeri iniziali rimangono. Le righe che risultano equivalenti nel confronto mantengono l’ordine originale; quelle vuote si spostano all’inizio.

Entrambe le modalità seguono le regole linguistiche del browser, ignorano la distinzione tra maiuscole e minuscole e possono considerare equivalenti alcuni caratteri accentati. L’ordinamento non è quindi un confronto rigoroso carattere per carattere. La documentazione di Intl.Collator, in inglese, spiega queste differenze tra lingue. Mantieni l’ordine originale se rappresenta una sequenza temporale o una priorità.

Controlli prima di sostituire l’originale

Domande frequenti

Perché un apparente duplicato è ancora presente?

Controlla la spaziatura, le maiuscole e minuscole e i caratteri Unicode. La modalità esatta rispetta queste differenze; non cambiare la regola senza averne compreso il significato.

Devo sempre eliminare la spaziatura prima dei duplicati?

No. Inizia con il confronto esatto. A volte basta ignorare la spaziatura per eliminare i duplicati conservando la forma della prima occorrenza.

L’elaborazione locale significa assenza di connessioni di rete?

L’elaborazione avviene nel browser. Aprire la pagina carica codice e risorse dal sito: non garantisce una navigazione senza richieste di rete.