Directory.GetFilesを取得して、数値(1abc.pdfなど)で始まるファイルのみを表示するにはどうすればよいですか。
Directory.GetFiles(@"C:/mydir", "0-9*.pdf")
桁数に関係なく、任意の数値で始まるファイルを取得するには、正規表現を使用できます。
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
これを検索パターンで直接指定する方法はありません。その機能はかなり制限されています(主に*
ワイルドカードをサポートしています)。これを実現する最良の方法は、フィルターを*.pdf
適用してから、LINQクエリを使用して数字で始まるクエリにフィルターをかけることです。
Directory
.GetFiles(@"c:\mydir", "*.pdf")
.Where(x => Char.IsDigit(Path.GetFileName(x)[0]));