Encore un problème de Regex !

Résolu
Signaler
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
-
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
-
Salut à tous.

Je dois remplacer dans une string du type "IN" par "1" seulement si cette string n'est pas suivie par des voyelles (A, E, I, O, U, Y). J'ai donc écrit ce bout de code :
<hr size="2" width="100%" />static void Main(string[] args)
{
string value = "ING";
string tmp = RegexpReplace(value, @"IN([^A|E|I|O|U|1|2|3|4])", "1");
}

public string RegexpReplace(string source, string pattern, string target)

{

    Regex rx = new Regex(pattern);

    source = rx.Replace(source, target);

    rx = null;

    return source;

}

<hr size="2" width="100%" />
cette fonction devrai normalement me retourner "1G" mais je ne récupere que le 1. En fait je ne sais pas comment faire pour qu'elle me garde la lettre suivante.

Qu'elqu'un pourrait-il m'aider merci

3 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
58
Donc en fait ceci :

static
void Main(
string[] args)
{
  
string value =
"ING";
  
string tmp = RegexpReplace(value,
@"IN([^A|^E|^I|^O|^U|^1|^2|^3|^4])",
"1$1");
}

<hr size="2" />-Blog-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
58
Salut,
Je ne suis pas un spécialiste Regex, mais je dirais quelque chose comme ça :
RegexpReplace(value,

@"IN([^A])",
"1$1")

<hr size="2" />-Blog-
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
3
merci bidou c'est exactement ce que je voulais