2010-09-02 10 views

Répondre

6
resultString = Regex.Replace(subjectString, @"[^[email protected]$%^&*()_+=[\]{}';,.-]", "X"); 

devrait le faire. Explication: J'ai copié votre liste de caractères et les ai collés dans un negated character class ([^...]). J'ai juste dû faire deux modifications mineures: échapper le crochet de fermeture (\]) et mettre le tiret à la fin de la chaîne.

5
using System.Linq; 
using System.IO; 

string path = ...; 

IEnumerable<char> invalidChars = Enumerable.Concat(
    Path.GetInvalidFileNameChars(), 
    Path.GetInvalidPathChars()); 

foreach (char c in invalidChars) 
{ 
    path = path.Replace(c, ''); // or any char you want 
} 
+0

+1 pour spécifier Path.GetInvalid [NomFichier | Chemin] Caractères() – SolidRegardless