2010-09-02 2 views

ответ

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

должны это сделать.

Объяснение: Я скопировал ваш список символов и вставил их в negated character class ([^...]). Мне просто пришлось сделать две незначительные модификации: сбежать от закрывающей скобки (\]) и поместить тире в конец строки.

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 для указания Path.GetInvalid [FileName | Path] Chars() – SolidRegardless

Смежные вопросы