2010-07-16 9 views
0

Est-il possible d'avoir un seul appel regex.replace récurrent? par exemple.Regex répété remplacer

string dateText = "01\.02\\.2008"; 
string dateSeperators = @"\.|/|\\|-"; 
string result = Regex.Replace(dateText, dateSeperators, "."); // needs to be fixed. single call possible? 

Le résultat devrait donner "01.02.2008". Actuellement, j'ai besoin de 2 passages, d'abord exécuter le remplacement ci-dessus puis remplacer plusieurs occurrences de points.

Répondre

3

Oui, utiliser

string dateSeparators = @"(\.|/|\\|-)+"; 

pour attraper plusieurs séparateurs en une seule fois.

Voir this MSDN page pour plus de détails sur les quantificateurs regex (comme "+").

+0

+1 pour être le premier. – Brian

0

Essayez d'utiliser cela pour votre dateSeperators:

string dateSeperators = @"(\.|/|\\|-)+" 

Cela donne:

01.02.2008 
0
string dateSeperators = @"(\.|/|\\|-)+"; 

qui correspondent à tous les seperators répéter.

0
string dateSeparators = @"[./\\-]+";