1

在 c# 中,我如何检查文件名中是否包含“井号”和“撇号”这是我迄今为止尝试过但不起作用的方法。如果 # 或 ' 在文件名中,我需要发送错误

返回文件名.Contains("#\'");

4

3 回答 3

8

您可以使用IndexOfAny

if (filename.IndexOfAny(new char[] {'#', '\''}) > -1)
{
    // filename contains # or '
}
于 2009-06-25T15:24:00.227 回答
3

尝试这样的事情:

Regex.IsMatch(fileName, @"[#']");
于 2009-06-25T15:23:45.813 回答
2

尝试以下

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

此代码将检查传入的整个文件名。因此,如果您传入完整路径,它将检查文件名和文件路径中的所有目录名。如果您只想检查文件名,请确保在将字符串传递给 HasBadCharacters 之前对字符串使用 Path.GetFileName()。

于 2009-06-25T15:23:04.537 回答