Regex

[Résolu]
Signaler
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
Bonjour,

Décidemment, les regex c'est pas mon truc ;-)
J'aimerais utiliser une expression régulière pour supprimer les doublons ou plus (il s'agit de chiffre). Petit exemple :

1234444556667 => 1234567
1123494456 => 12349456

<hr size="2" />VC# forever

4 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
on a besoin de moi je crois :)

en fait... c'est à la fois simple... et dur à comprendre

la regex pour trouver les groupes qui se répète est : (\d)\1+
en gros, elle permet de trouver tous les chiffres qui se répètent plus d'une fois (donc 11, 111...)

donc pour remplacer ta chaine tu peux faire ca :
string ret = Regex.Replace("1234444556667", @"(\d)\1+", "$1");

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
58
Ghaaaaaa !
Je crois que je n'aurais jamais trouvé ;-)
Merci...

<hr size="2" />VC# forever
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
58
Tu pourrais presque en faire un snippet sur codyx...

<hr size="2" />VC# forever
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
c'est fait : http://www.codyx.org/snippet_remplacement-doublon-dans-chaine_216.aspx

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]