2009-06-25 8 views
0

C#でファイル名をチェックインするには "ポンド記号"と "アポストロフィー記号"が表示されます これは私がこれまで試したが動作しません。 #または 'がファイル名にある場合、エラーを送信する必要があります。filename.Contains#(ポンド)または '(一重引用符)

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

答えて

8

あなたはIndexOfAnyを使用することができます。

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

このコードは、渡されたファイル名全体をチェックします。あなたはフルパスで渡された場合には、ファイル名を確認し、パスでディレクトリ名のすべてですので、次の

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

をお試しくださいファイル。ファイル名を確認するだけの場合は、HasBadCharactersに渡す前に、文字列にPath.GetFileName()を必ず使用してください。

3

このような何かを試してみてください:

Regex.IsMatch(fileName, @"[#']"); 
関連する問題