Nettoyer une liste sans modifier ses valeurs

Pour nettoyer une liste en conservant l’écriture des éléments retenus, travaillez sur une copie, retirez seulement les lignes inutiles et commencez par les doublons exacts. Gardez le tri et la suppression des espaces comme des choix séparés. Une majuscule, un zéro initial ou un espace peuvent faire partie d’un identifiant.

Définir ce qui peut disparaître

Enregistrez l’original avant toute manipulation. Vérifiez que chaque ligne correspond bien à un élément autonome. Une répétition peut représenter plusieurs opérations réelles ; une ligne vide peut séparer des groupes. Les supprimer change alors l’information, même si le texte des autres lignes reste intact.

Ne collez pas directement un CSV structuré dans ces outils de lignes. Un champ entre guillemets peut contenir un retour à la ligne, et ses espaces font partie de sa valeur, comme le décrit la RFC 4180. Pour ce format, consultez plutôt le parcours CSV vers JSON.

Retirer les lignes réellement inutiles

Le suppresseur de lignes vides enlève les lignes sans caractère ainsi que celles composées uniquement de caractères blancs reconnus par JavaScript.

Un espace ordinaire est un caractère précis ; « blanc » couvre aussi des tabulations et certains espaces Unicode, notamment l’espace insécable. L’outil conserve les espaces des lignes contenant du texte. Un caractère invisible n’est toutefois pas forcément un blanc reconnu : une ligne contenant un espace sans chasse U+200B reste présente.

Choisir la bonne règle de doublon

Dans le suppresseur de lignes dupliquées, quatre options sont disponibles :

  • « Texte exact (par défaut) » conserve les différences de casse et d’espacement.
  • « Ignorer la casse » rapproche les variantes majuscules/minuscules selon la langue du navigateur.
  • « Ignorer les espaces au début et à la fin » compare les lignes sans leurs blancs périphériques.
  • « Ignorer la casse et les espaces périphériques » combine ces deux assouplissements.

Dans tous les modes, la première ligne correspondante reste écrite comme dans l’entrée. Ignorer ses espaces pendant la comparaison ne les retire pas du résultat. Les espaces intérieurs restent significatifs. Deux accents visuellement identiques mais encodés différemment en Unicode ne sont pas automatiquement normalisés pour dédupliquer.

Tester avec des références fictives

Voici une petite liste. Le point médian · représente un espace réel, ⇥ une tabulation ; ces symboles servent uniquement à rendre l’exemple lisible.

REF-0010

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

La suppression des lignes vides retire la deuxième et la dernière ligne. Le mode exact supprime ensuite seulement la deuxième occurrence identique de REF-0002. Il conserve REF-0010, ·REF-0002·, REF-0002, ref-0002 et REF-2, dans cet ordre.

Sur la liste débarrassée des lignes vides, le mode ignorant les espaces conserve ·REF-0002· et supprime les deux REF-0002 suivants. La variante en minuscules reste présente. Avec l’option combinée, elle disparaît aussi. REF-2 reste distinct de REF-0002 : les zéros initiaux ne sont pas retirés.

Si vous voulez réellement supprimer les blancs périphériques, utilisez le suppresseur d’espaces en début et fin de ligne. Cette étape modifie les valeurs. Elle laisse les espaces intérieurs et les lignes vides en place. N’appliquez ce traitement que si ces blancs sont indésirables, puis recommencez la déduplication exacte si nécessaire. Le comportement repose sur String.trim().

Trier uniquement si l’ordre peut changer

Le tri de lignes propose « Comme du texte (élément10 avant élément2) » et « Par valeur numérique (élément2 avant élément10) ». Avec REF-10 et REF-2, ces modes donnent respectivement REF-10 puis REF-2, et l’ordre inverse.

Le mode numérique compare les nombres dans le texte sans réécrire les références : les zéros initiaux restent présents. Les lignes jugées équivalentes gardent leur ordre initial ; les lignes vides vont au début.

Les deux modes suivent les règles de langue du navigateur, ignorent la casse et peuvent traiter certains accents comme équivalents. L’ordre n’est donc pas une comparaison stricte caractère par caractère. La documentation Intl.Collator explique ces différences entre langues. Conservez l’ordre initial s’il traduit une chronologie ou une priorité.

Vérifications avant de remplacer l’original

  • L’original est conservé séparément.
  • Chaque ligne supprimée correspond à une suppression voulue.
  • Casse, espaces significatifs et zéros initiaux sont préservés.
  • Le résultat a été essayé dans son application de destination.

Questions fréquentes

Pourquoi un doublon apparent reste-t-il présent ?

Vérifiez les blancs, la casse et les caractères Unicode. Le mode exact respecte ces différences ; ne changez pas de règle sans comprendre leur rôle.

Faut-il toujours supprimer les espaces avant les doublons ?

Non. Commencez par comparer exactement. Ignorer les espaces suffit parfois pour dédupliquer tout en conservant l’écriture de la première occurrence.

Le traitement local signifie-t-il aucune connexion réseau ?

Le traitement s’exécute dans votre navigateur. L’ouverture de la page charge du code et des ressources depuis le site : cela ne garantit pas une navigation sans requête réseau.