Encore un problème de Regex !

Résolu
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 21 nov. 2006 à 11:12
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 21 nov. 2006 à 11:54
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

cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
21 nov. 2006 à 11:35
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-
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
21 nov. 2006 à 11:33
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-
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
21 nov. 2006 à 11:54
merci bidou c'est exactement ce que je voulais
Rejoignez-nous