2009-12-15 8 views
0

Pourquoi cette expression régulière ne fonctionne pas? Je veux remplacer ma chaîne par tous les pas par défaut charaactersExpression régulière pour rejeter les caractères non-alphanumériques

juridique sont = a-Za-z0-9- reste doit être remplacé et revenir sans les caractères interdits

protected string FormatToInvalidChars(string InputString) 
    { 
     string RegexPattern = @"(^[A-Za-z0-9]*)$"; 

      string s = Regex.Replace(InputString.Trim(), RegexPattern, "$1"); 

      return s; 

    } 

Répondre

1
string s = Regex.Replace(InputString.Trim(),@"[^A-Za-z0-9]+",""); 
+0

Merci, semble logique. ... à présent:) –

1

Votre modèle ne fait pas sens. Vous correspondez seulement à une chaîne de caractères unique de cette façon.

Ce que vous voulez est probablement remplacer

[^A-Za-z0-9] 

par une chaîne vide.

1

les opérations suivantes:

Regex.Replace(InputString.Trim(), @"[^A-Za-z0-9-]", ""); 

(en supposant que le trait d'union est aussi légal, comme vous le dites dans la question)

Questions connexes