6

Directory.GetFilesを取得して、数値(1abc.pdfなど)で始まるファイルのみを表示するにはどうすればよいですか。

Directory.GetFiles(@"C:/mydir", "0-9*.pdf")
4

2 に答える 2

4

桁数に関係なく、任意の数値で始まるファイルを取得するには、正規表現を使用できます。

var files = Directory.GetFiles(@"c:\mydir", "*.pdf")
                     .Where(file => Regex.IsMatch(Path.GetFileName(file), "^[0-9]+"));
                     //.ToArray() <-add if you want a string array instead of IEnumerable
于 2012-03-11T07:39:05.140 に答える
3

これを検索パターンで直接指定する方法はありません。その機能はかなり制限されています(主に*ワイルドカードをサポートしています)。これを実現する最良の方法は、フィルターを*.pdf適用してから、LINQクエリを使用して数字で始まるクエリにフィルターをかけることです。

Directory
  .GetFiles(@"c:\mydir", "*.pdf")
  .Where(x => Char.IsDigit(Path.GetFileName(x)[0]));
于 2012-03-11T07:30:10.823 に答える