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

C# Discussion :

Regex de remplacement [Débutant]


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 246
    Points : 123
    Points
    123
    Par défaut Regex de remplacement
    Bonjour,

    Je cherche à retourner une string qui supprime les espaces et dont les tirets sont supprimés uniquement s'ils précèdent une lettre.
    Exemple : 187 -B-2-3 devrait me retourner 187B-2-3
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Regex.Replace(x, @"\s+|-[a-zA-Z]", "");
    Mais ça me retourne 187-2-3. Pour l'espace ok. Mais mais la lettre est partie avec le tiret. Or elle devrait rester.
    Je comprend bien que la recherche était sur un tiret suivi d'une lettre, et qu'il a donc remplacé le tiret et la lettre.
    Mais comment dois-je faire pour rechercher un tiret suivi d'une lettre, mais ne remplacer que le tirer ?

    Merci.

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    L'instrument pour ce faire est le pattern dit "positive lookahead" (sous-entendu sans le capturé vraiment):
    https://www.regular-expressions.info/lookaround.html

    Voice en pratique comment:
    Code cs : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //Regex.Replace(x, @"\s+|-[a-zA-Z]", "");
    string y=Regex.Replace(x, @"\s+|-(?=[a-zA-Z])", "");

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 246
    Points : 123
    Points
    123
    Par défaut
    Ah merci. Je ne connaissais pas.

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

Discussions similaires

  1. regex et remplacement
    Par mmaura dans le forum C
    Réponses: 1
    Dernier message: 16/08/2007, 19h15
  2. [RegEx] regex pour remplacer bbcode et img
    Par gwena54 dans le forum Langage
    Réponses: 6
    Dernier message: 16/08/2007, 14h42
  3. Utiliser Regex pour remplacement
    Par soveste dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 19/03/2007, 09h48
  4. [Notepad++] utiliser regex pour remplacer des caractères
    Par ilood dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 04/02/2007, 04h06
  5. regex.h remplacement ?
    Par seal3 dans le forum C++
    Réponses: 4
    Dernier message: 24/08/2005, 23h07

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