In einem Projekt musste eine Datei generiert werden, deren Name aus einem Titel im Text besteht sollte. Da der Titel auch unerlaubte Zeichen enthalten konnte, musste der String vorher angepasst werden, d.h. alle nicht erlaubten Zeichen mussten entfernt werden.
Dies kann man wunderbar mit „Path.GetInvalidFileNameChars“ und Regex erledigen:
string fileName = title /* Könnte unerlaubte Zeichen haben */
string regexSearch = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars());
Regex r = new Regex(string.Format("[{0}]", Regex.Escape(regexSearch)));
fileName = r.Replace(fileName, ""); /* Ersetze unerlaubte Zeichen durch "" */