Comment supprimer tous les caractères non-ASCII avec regex et Notepad ++?

J’ai beaucoup cherché, mais nulle part il n’est écrit comment supprimer les caractères non-ASCII de Notepad ++.

J’ai besoin de savoir quelle commande écrire dans find et replace (avec picture ce serait génial).

  • Si je veux créer une liste blanche et mettre en signet tous les mots / lignes ASCII pour que les lignes non ASCII ne soient pas marquées

  • Si le fichier est assez volumineux et ne peut pas sélectionner toutes les lignes ASCII et que vous souhaitez simplement sélectionner les lignes contenant des caractères non-ASCII …

Cette expression recherchera des valeurs non-ASCII:

[^\x00-\x7F]+ 

Cochez «Mode de recherche = expression régulière», puis cliquez sur Suivant .

Source: Regex tout caractère ASCII

Dans Notepad ++, si vous accédez au menu RechercherRechercher des caractères dans la plageCaractères non-ASCII (128-255), vous pouvez parcourir le document pour chaque caractère non-ASCII.

Pour supprimer tous les caractères non-ASCII, vous pouvez utiliser le remplacement suivant: [^\x00-\x7F]+

Suppression de fichiers non-ASCII

Pour mettre en évidence les caractères, je recommande d’utiliser la fonction Mark dans la fenêtre de recherche: elle met en évidence les caractères non-ASCII et place un signet dans les lignes contenant l’un d’eux.

Highligh non-ASCII

Si vous souhaitez mettre en évidence et mettre un signet sur les caractères ASCII à la place, vous pouvez utiliser le regex [\x00-\x7F] pour le faire.

À votre santé

En plus de la réponse de ProGM, si vous voyez des caractères dans des boîtes comme NUL ou ACK et que vous voulez vous en débarrasser, il s’agit de caractères de contrôle ASCII (0 à 31).

 [\x00-\x1F]+ 

Pour supprimer tous les caractères de contrôle non-ASCII et ASCII, vous devez supprimer tous les caractères correspondant à cette expression régulière:

 [^\x1F-\x7F]+ 

Pour garder de nouvelles lignes:

  1. Sélectionnez d’abord un caractère pour la nouvelle ligne … J’ai utilisé #.
  2. Sélectionnez l’option remplacer, étendue.
  3. entrée \ n remplacer par #
  4. Appuyez sur Remplacer tout

Prochain:

  1. Sélectionnez l’option Remplacer l’option Expression régulière.
  2. Entrez ceci: [^ \ x20- \ x7E] +
  3. Garder Remplacer Avec Vide
  4. Appuyez sur Remplacer tout

Maintenant, sélectionnez l’option Remplacer étendue et remplacer # par \ n

🙂 maintenant, vous avez un fichier ASCII propre;)

Une autre bonne astuce consiste à passer en mode UTF8 dans votre éditeur pour que vous puissiez réellement voir ces personnages amusants et les supprimer vous-même.

Autrement…

  1. Installez le plug-in Text FX si vous ne l’avez pas déjà
  2. Accédez à l’option de menu TextFX -> zappez tous les caractères non imprimables sur #. Il remplacera tous les caractères non valides par 3 symboles #
  3. Allez dans Rechercher / Remplacer et cherchez ###. Remplacez-le par un espace.

C’est bien si vous ne vous souvenez pas de l’expression rationnelle ou si vous n’avez pas envie de la chercher. Mais le regex mentionné par les autres est également une bonne solution.