IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres Logiciels Discussion :

[Notepad++] utiliser regex pour remplacer des caractères


Sujet :

Autres Logiciels

  1. #1
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut [Notepad++] utiliser regex pour remplacer des caractères
    Bonjour

    Avec notepad++ il est possible d'utiliser des expressions régulières pour rechercher une chaîne de caractère.

    J'aimerai trouver tous les _ contenus dans une phrase. Le but étant de remplacer les _ de la phrase par des espaces. Je ne veux supprimer que les underscores situés qu'entre A-Z, ou a-z et ?
    Par exemple :
    Qui_fut_le_premier_à_atteindre_le_pôle_Sud_?
    Pour avoir en sortie
    Qui fut le premier à atteindre le pôle Sud ?
    Sachant que dans mon fichier, je souhaite garder les _ qui ne sont pas entourés de lettre.

    Merci
    Qui aime bien, charrie bien

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    j'ai un début de piste... mais les expressions régulières de notepad++ sont plutôt limitées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    recherche : ([a-zA-Zà?])(_+)([a-zA-Zà?])
    remplacer par : \1 \3
    Attention : Il y a un espace entre \1 et \3 mais pas avant le \1 ni après le \3

    résultat :

    Qui fut le premier à_atteindre le pôle Sud ?
    Je ne comprends pas pourquoi il ne voit pas le '_' entre 'à' et 'a'...

    En espérant que cela t'aide déjà un peu. Dommage que ce ne soit pas aussi puissant que les regexps de perl ou C#...

    [EDIT]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    recherche : ([a-zA-Zà?]*)(_+)([a-zA-Zà?]*)
    remplacer par : \1 \3
    Là ça fonctionne

    Par contre j'ai une différence de traitement si je choisis "remplacer tout" ou "remplacer dans tous les documents"... (en n'ayant qu'un seul document d'ouvert). Et là je dois dire que je ne vois pas du tout pourquoi...

  3. #3
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut
    Hello Neitsa

    Merci beaucoup pour la réponse.
    J'ai malgré tout utilisé la première regexp
    ([a-zA-Zà?])(_+)([a-zA-Zà?])
    car la seconde trouvais tous les soulignés

    Mon fichier est propre maintenant, merci à toi.
    Qui aime bien, charrie bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. script pour remplacer des caractères par des blancs
    Par floctc dans le forum Langage
    Réponses: 5
    Dernier message: 03/06/2009, 16h44
  2. Réponses: 4
    Dernier message: 14/11/2008, 21h00
  3. Créer une fonction pour remplacer des caractères
    Par virtuadrack dans le forum C++
    Réponses: 4
    Dernier message: 11/09/2008, 14h52
  4. Quels classes utiliser pour remplacer des classes qui sont propriété de Sun
    Par danyboy85 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 21/11/2007, 16h36
  5. Utiliser Regex pour remplacement
    Par soveste dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 19/03/2007, 09h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo