filename.Contains # (фунт) или '(одинарная кавычка) - PullRequest
0 голосов
/ 25 июня 2009

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

return filename.Contains ("# \ '");

Ответы [ 3 ]

8 голосов
/ 25 июня 2009

Вы можете использовать IndexOfAny :

if (filename.IndexOfAny(new char[] {'#', '\''}) > -1)
{
    // filename contains # or '
}
3 голосов
/ 25 июня 2009

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

Regex.IsMatch(fileName, @"[#']");
2 голосов
/ 25 июня 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...