У меня есть следующий метод, который заменяет знак «фунт» в имени файла, но я также хочу иметь возможность заменить «одиночный апостроф» одновременно. Как мне это сделать? Это значение имени файла = Поставщик license_A'R_Ab # acus Settlements_1-11-09.xls
static string removeBadCharPound(string filename) { // Replace invalid characters with "_" char. //I want something like this but is NOT working //return Regex.Replace(filename, "# ' ", "_"); return Regex.Replace(filename, "#", "_"); }
Попробуйте
return Regex.Replace(filename, "[#']", "_");
Имейте в виду, я не уверен, что регулярное выражение, скорее всего, будет быстрее, чем несколько более простое:
return filename.Replace('#', '_') .Replace('\'', '_');
И ради интереса вы можете сделать то же самое с LINQ:
var result = from c in fileName select (c == '\'' || c == '#') ? '_' : c; return new string(result.ToArray());
Или, сжатый до сексуального однострочного:
return new string(fileName.Select(c => c == '\'' || c == '#' ? '_' : c).ToArray())