Nettoyeur d'espaces et de texte, gratuit
Nettoyez du texte brouillon en retirant espaces superflus, tabulations et lignes vides.
Comment utiliser
- Collez votre texte dans la zone d'entrée.
- Sélectionnez les options de nettoyage voulues (toutes cochées par défaut).
- Cliquez sur Nettoyer le texte pour traiter.
- Copiez ou téléchargez le résultat nettoyé.
Questions fréquentes
Qu'est-ce qui compte comme espace blanc ?
Les espaces, tabulations, espaces insécables et autres caractères d'espacement Unicode. Les retours à la ligne sont gérés séparément via les options « lignes vides » et « réduire les retours à la ligne ».
Cet outil modifie-t-il mon contenu ?
Non. Il ne retire ou ne réduit que des caractères d'espacement. Vos mots, ponctuation et autre contenu restent intacts.
Puis-je l'utiliser pour du code ?
Vous le pouvez, mais avec prudence · retirer les espaces de début détruira l'indentation du code. Utilisez les cases individuelles pour contrôler exactement ce qui est nettoyé.
Ce que « espace blanc » signifie réellement
Un caractère d'espacement est un caractère qui produit un espace vide lorsque le texte est rendu, au lieu d'un glyphe visible, et qui sert à séparer les mots, indenter les lignes et délimiter les paragraphes. La base de données de caractères Unicode attribue la propriété formelle White_Space à exactement 25 points de code. Les suspects habituels (espace, tabulation, saut de ligne, retour chariot) couvrent la majeure partie de ce que vous collerez un jour, mais la liste complète comprend aussi l'espace insécable (U+00A0), l'espace insécable étroite (U+202F), 11 espaces typographiques dans la plage U+2000–U+200A, les séparateurs de ligne et de paragraphe (U+2028, U+2029), l'espace mathématique moyenne (U+205F) et l'espace idéographique pleine chasse (U+3000) utilisée après la ponctuation CJC.
Un groupe distinct semble invisible mais n'est pas classé comme espace blanc par Unicode : la marque d'ordre des octets (U+FEFF), l'espace de largeur nulle (U+200B), le liant et l'antiliant de largeur nulle (U+200D, U+200C), le liant de mots (U+2060) et le trait d'union conditionnel (U+00AD). Ce sont des contrôles de formatage, pas des espaces, la plupart des signalements du type « j'ai nettoyé mon texte mais quelque chose ne va toujours pas » remontent à l'un d'eux.
Ce que fait cet outil, option par option
- Rogner les espaces en début/fin de chaque ligne : retire les espaces au début et à la fin de chaque ligne individuelle. Utile pour nettoyer les citations indentées d'un e-mail, ou le remplissage à droite ajouté par accident lors d'un copier-coller.
- Réduire les espaces multiples à un seul : les suites de deux espaces ou plus deviennent un seul espace. Gère l'habitude dactylographique de la double espace après un point (que la plupart des guides de style modernes (Chicago, AP) déconseillent).
- Supprimer les lignes vides : élimine toute ligne vide ou ne contenant que des espaces. Besoin fréquent après avoir collé du texte issu de PDF.
- Convertir les tabulations en espaces : remplace chaque
\tpar des espaces. Soyez prudent dans le code : Python et YAML sont sensibles aux espaces, et les Makefiles exigent en fait une indentation par tabulation dans les lignes de recette. - Rogner le début et la fin du texte entier : retire d'un coup les espaces de début et de fin de toute la chaîne (l'équivalent du
trim()de JavaScript). - Réduire les sauts de ligne multiples à un seul : les suites de sauts de ligne consécutifs deviennent un seul saut de ligne. Utile quand « Supprimer les lignes vides » est trop agressif et que vous voulez garder une seule ligne vide pour les sauts de paragraphe.
Les six options sont des bascules indépendantes (décochez celles que vous voulez ignorer) et chacune ne s'applique qu'au texte que vous collez. Rien n'est téléversé ; le nettoyage se fait dans votre navigateur via des passes d'expressions régulières JavaScript.
Quand utiliser cet outil
- PDF et documents Word. Les PDF insèrent des sauts de ligne forcés à la fin visuelle de chaque ligne et préservent parfois la césure ; le texte Word collé contient souvent des espaces insécables entre les nombres et les unités (10 km), autour de la ponctuation française, ou après les titres de civilité comme M. Smith.
- Normaliser la saisie utilisateur. Des espaces en fin dans un champ « Nom » ou e-mail font que
"Smith"et"Smith "sont considérés comme différents. Les retirer à la saisie (ou avant la recherche) élimine toute une catégorie de bugs « utilisateur introuvable ». - Préparation de CSV et TSV. Des valeurs de champ avec des espaces en début ou en fin font échouer les analyseurs en aval qui attendent des clés à correspondance exacte. L'export CSV UTF-8 d'Excel ajoute silencieusement une marque d'ordre des octets au début, qu'un analyseur en aval qui ne retire pas la BOM verra comme une partie de l'en-tête de la première colonne, produisant un
colnamed'apparence étrange. - Markdown et brouillons de blog. Plusieurs lignes vides consécutives s'affichent comme un seul bloc en Markdown, mais alourdissent les fichiers source et rendent les diffs bruyants.
- Signatures d'e-mail, transcriptions de discussion et identifiants : nettoyage rapide avant de les coller dans un autre document, ou avant de soumettre un code promo ou une clé de licence à une API stricte sur les espaces.
Pièges courants
- Retirer les espaces de début casse le code. Python et YAML utilisent l'indentation comme syntaxe. Retirez-la et le fichier paraît identique à l'œil, mais ne s'analyse plus.
- La conversion des tabulations casse les Makefiles. GNU make refuse de s'exécuter si les lignes de recette sont indentées avec des espaces au lieu de tabulations. La même prudence s'applique à la sortie de gofmt de Go.
- L'espace insécable est identique à une espace ordinaire. Un utilisateur voit souvent une seule « espace » entre deux mots et suppose que n'importe quel nettoyeur la détectera. L'expression régulière
\sde JavaScript reconnaît bien l'espace insécable dans les navigateurs modernes, mais si vous écrivez votre propre expression régulière dans un autre langage (ou un environnement très ancien), il se peut que vous deviez lister l'espace insécable explicitement. - Les espaces en fin de ligne sont significatifs en Markdown. Deux espaces en fin de ligne Markdown créent un saut de ligne
<br>. Rogner les espaces de fin de chaque ligne supprime ces sauts de ligne ; si vous en dépendez, laissez l'option désactivée. - Fins de ligne Windows. Les fichiers copiés depuis une source Windows utilisent CRLF (
\r\n). Les passes « supprimer les lignes vides » et « réduire les sauts de ligne » doivent reconnaître le CR ; sinon, un\risolé peut subsister à la fin de chaque ligne. - Les caractères de largeur nulle survivent à une suppression d'espaces. ZWSP (U+200B), ZWJ (U+200D), ZWNJ (U+200C), le liant de mots (U+2060) et le trait d'union conditionnel (U+00AD) ne sont pas des espaces blancs Unicode, donc un nettoyeur d'espaces générique n'y touchera pas. Si votre texte semble bizarre après le nettoyage, collez-le dans un visualiseur hexadécimal ou un inspecteur de « caractères invisibles » distinct.
- Rapport entre l'entrée et la sortie. Le nettoyage est irréversible dans cette page une fois que vous copiez ou fermez, il n'y a pas d'historique d'annulation. Gardez l'original quelque part au cas où vous en auriez besoin.
Bref contexte technique
Cet outil s'exécute entièrement dans votre navigateur à l'aide du moteur d'expressions régulières intégré de JavaScript. String.prototype.trim() dans les moteurs modernes (tous les navigateurs evergreen depuis environ 2015) retire à la fois l'espace insécable et la marque d'ordre des octets, car la spécification ECMAScript définit son ensemble de rognage comme l'union des productions WhiteSpace et LineTerminator, une liste qui couvre les tabulations, l'espace ordinaire, l'espace insécable, la BOM, les espaces typographiques et les sauts de ligne CR / LF / LS / PS. Elle exclut un seul caractère d'espacement Unicode, U+0085 (NEL), une curiosité héritée de l'EBCDIC qui n'apparaît presque jamais dans les textes modernes.
Pour de très grandes entrées, la partie lente est rarement la passe d'expression régulière, c'est plutôt la réécriture du résultat dans la zone de texte et le rendu du DOM. Des entrées allant jusqu'à quelques mégaoctets conviennent généralement sur un ordinateur portable moderne ; au-delà, les outils en ligne de commande (tr, sed, awk, ou un court script Python) sont habituellement plus rapides.
Autres questions
Quelle est la différence entre une espace ordinaire et une espace insécable ?
Elles s'affichent à la même largeur, mais l'espace insécable (NBSP, U+00A0) indique au moteur de rendu de ne pas couper la ligne à cet endroit. Word, Google Docs et de nombreux CMS l'insèrent entre les titres de civilité et les noms (M. Smith), entre les nombres et les unités (10 km), ou autour des symboles monétaires (5 $). C'est le caractère « bizarre » le plus fréquent à trouver dans du texte collé, et c'est pourquoi l'écart d'apparence identique entre deux mots résiste parfois à une expression régulière écrite pour des espaces ordinaires.
Cela supprimera-t-il les caractères de largeur nulle ou la marque d'ordre des octets ?
La gestion des espaces par JavaScript détecte généralement la marque d'ordre des octets (U+FEFF). Elle ne détecte pas l'espace de largeur nulle (U+200B), le liant de largeur nulle (U+200D), l'antiliant de largeur nulle (U+200C), le liant de mots (U+2060) ni le trait d'union conditionnel (U+00AD) ; Unicode ne les classe pas comme des espaces, ils survivent donc à une passe de nettoyage des espaces par conception. Si vous soupçonnez la présence de l'un d'eux dans votre texte, il vous faudra plutôt un inspecteur de caractères invisibles.
Pourquoi les lignes vides et les sauts de ligne consécutifs sont-ils deux options distinctes ?
L'option « Supprimer les lignes vides » supprime chaque ligne vide, le résultat est un seul bloc de texte continu sans saut de paragraphe. L'option « Réduire les sauts de ligne multiples à un seul » garde un seul saut de ligne entre les paragraphes et n'enlève que les surplus. Si vous voulez des paragraphes lisibles en sortie, laissez la première option désactivée et utilisez la seconde.
Y a-t-il une limite de longueur ?
Il n'y a pas de limite stricte, l'outil peut traiter confortablement un texte de l'ordre de dizaines de milliers à quelques millions de caractères sur un ordinateur portable moderne. La limite est la performance de la zone de texte de votre navigateur : les très grands collages commencent à ralentir pendant la frappe ou la copie, pas pendant l'étape de nettoyage elle-même.
Quelque chose est-il envoyé à un serveur ?
Non. Le texte ne quitte jamais votre navigateur. Le nettoyage s'exécute localement en JavaScript, le résultat est réécrit dans une zone de texte de la même page, et vous pouvez utiliser la page hors ligne une fois qu'elle est chargée. Il en va de même pour chaque outil sur Absolutool.