Expressions régulières...

Résolu
Bulldozair Messages postés 4 Date d'inscription mercredi 8 juillet 2009 Statut Membre Dernière intervention 15 mars 2010 - 14 mars 2010 à 15:51
Bulldozair Messages postés 4 Date d'inscription mercredi 8 juillet 2009 Statut Membre Dernière intervention 15 mars 2010 - 15 mars 2010 à 15:13
Bonjour,
Je ne suis pas un spécialiste des expressions régulières, il faut que je cherche dans une expression le caractère / et s'il s'y trouve chercher à identifier si le mot précédent le / et celui le suivant sont en majuscules, si c'est le cas supprimer l'espace séparant ces deux mots du caractère /. Voici un exemple :

Si j'ai cette phrase :
titi AB / CD toto

Je veux obtenir :
titi AB/CD toto

Merci à vous,

Cordialement...

2 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
14 mars 2010 à 16:52
Bonjour

pour ton exemple, essaie:
static void Main(string[] args)
{
    //recherche de 2 mots en majuscules séparés par " / "
    Regex MyRegex = new Regex("([A-Z]+)\\s{1}/\\s{1}([A-Z]+)",
        RegexOptions.CultureInvariant | RegexOptions.Compiled);
    //chaine de remplacementn 
    string MyRegexReplace = "$1/$2";

    string InputText = "titi AB / CD toto ";
    string result = MyRegex.Replace(InputText, MyRegexReplace);
    Console.WriteLine(result);

}

C# is amazing, enjoy it!
3
Bulldozair Messages postés 4 Date d'inscription mercredi 8 juillet 2009 Statut Membre Dernière intervention 15 mars 2010
15 mars 2010 à 15:13
Merci à vous, ça fonctionne parfaitement, j'ai juste apporté un e petite modification car il peut y avoir ou pas des espaces, donc j'ai écrit :
Regex MyRegex = new Regex("([A-Z]+)\\s*/\\s*([A-Z]+)");

Encore merci,

Cordialement...
0
Rejoignez-nous