web-dev-qa-db-fra.com

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

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

J'ai besoin de savoir quelle commande écrire dans rechercher et remplacer (avec l'image, ce serait génial).

  • Si je veux faire une liste blanche et mettre en signet tous les _ mots/lignes ASCII afin que les lignes non-ASCII soient non 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 ...

131
Texh

Cette expression recherchera des valeurs non-ASCII:

[^\x00-\x7F]+

Cochez 'Mode de recherche = Expression régulière', puis cliquez sur Find Next.

Source: expression rationnelle quelconque ASCII caractère

234
ProGM

Dans le Bloc-notes ++, si vous accédez au menu RechercheRechercher des caractères dans la plageCaractères non-ASCII (128-255), vous pouvez ensuite parcourir les éléments suivants: le document à chaque caractère non-ASCII.

44
Anon Y. Mous

En plus de la réponse de ProGM, si vous voyez des caractères dans des boîtes telles que NUL ou ACK et souhaitez vous en débarrasser, il s'agit de ASCII caractères de contrôle (0 à 31), vous pouvez les trouver avec le expression suivante et les supprimer:

[\x00-\x1F]+

Afin de 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]+
21
brunorey

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

Removing non-ASCII

Pour mettre en surbrillance des caractères, je vous recommande d'utiliser la fonction Marquer dans la fenêtre de recherche: elle met en évidence les caractères non-ASCII et place un signet dans les lignes qui en contiennent un.

Highligh non-ASCII

Si vous souhaitez mettre en surbrillance et placer un signet sur les caractères ASCII, vous pouvez utiliser l'expression régulière [\x00-\x7F] pour le faire.

À votre santé

17
Jean-Francois T.

Pour garder de nouvelles lignes:

  1. Commencez par sélectionner un caractère pour la nouvelle ligne ... J'ai utilisé #.
  2. Sélectionnez l'option de remplacement, étendue.
  3. entrée\n remplacer par #
  4. Hit Remplacer Tout

Prochain:

  1. Sélectionnez l'option Remplacer l'expression régulière.
  2. Entrez ceci: [^\x20-\x7E] +
  3. Garder remplacer avec vide
  4. Hit Remplacer Tout

Maintenant, sélectionnez l'option Remplacer étendue et Remplacer # avec\n

:) maintenant, vous avez un fichier propre ASCII;)

4
TooGeeky

Une autre astuce consiste à passer en mode UTF8 dans votre éditeur afin de pouvoir réellement voir ces drôles de personnages et les supprimer vous-même.

3
Gidon Wise

Autrement...

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

C'est bien si vous ne vous souvenez pas de la regex ou si vous ne voulez pas la regarder. Mais la regex mentionnée par d’autres est également une solution intéressante.

1
goku_da_master