имя файла.Содержит # (фунт) или ' (одинарная кавычка)
-
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.
Не связан с StackOverflow