имя файла.Содержит # (фунт) или ' (одинарная кавычка)

StackOverflow https://stackoverflow.com/questions/1044547

  •  20-08-2019
  •  | 
  •  

Вопрос

В c # как я могу проверить, что в имени файла есть "знак фунта" и "знак апострофа" Это то, что я пробовал до сих пор, но не работает.Мне нужно отправить сообщение об ошибке, если # или ' находятся в имени файла

возвращает имя файла.Содержит("#\'");

Это было полезно?

Решение

Вы можете использовать Индекс множества:

if (filename.IndexOfAny(new char[] {'#', '\''}) > -1)
{
    // filename contains # or '
}

Другие советы

Попробуйте что-то вроде этого:

Regex.IsMatch(fileName, @"[#']");

Попробуйте следующее

bool HasBadCharacters(string fileName) {
  return fileName.IndexOf('\'') >= 0 || fileName.IndexOf('#') >= 0;
}

Этот код проверит все переданное имя файла.Таким образом, если бы вы передали полный путь, он проверил бы имя файла и все имена каталогов в пути к файлу.Если вы просто хотите проверить имя файла, то обязательно используйте Path.GetFileName() в строке, прежде чем передавать ее в HasBadCharacters.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top