У меня есть следующий метод, который заменяет знак "фунт" из имени файла, но я также хочу иметь возможность заменить "одиночный апостроф" одновременно. Как мне это сделать? Это значение filename = Provider 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, "#", "_");
}
Try
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())