2016-09-12 3 views
0

ファイルがあるフォルダがあります。 このファイルは以下のとおりです。私はこれを持って番号で始まるフォルダ内のすべてのファイルを一覧表示するにはどうすればよいですか?

12_pro.bin 
15th edition.txt 

file1.txt 
opera.exe 
12_pro.bin 
15th edition.txt 
myFile.txt 

今、私はちょうどこの二つの、だから、ウィットに数

を開始するだけでファイルを取得するコードが必要

FolderBrowserDialog fbd = new FolderBrowserDialog(); 
if (fbd.ShowDialog() == DialogResult.OK) 
{ 
    foreach (var path in Directory.GetFiles(fbd.SelectedPath)) 
    { 
     Console.WriteLine(path); // full path 
     Console.WriteLine(System.IO.Path.GetFileName(path)); // file name 
    } 
Console.ReadLine(); 

今、私はこのようなものが必要です:forループの 最初の文字は のようになります。最初の文字が数字ならば、Write Line。

+0

ファイル名の抽出方法はわかっていますが、その名前の最初の文字を確認するだけです。または私は何かを逃していますか? – PaulF

答えて

4

あなたは、LINQとChar.IsDigitを使用することができます。

var numberFiles = Directory.EnumerateFiles(fbd.SelectedPath).Where(f => Char.IsDigit(f[0])); 

foreach(string fn in numberFiles) 
    Console.WriteLine(fn); 
+0

タイブー、これはたくさんの助けになります – Stefan

+1

@Stefan:ようこそ。答えを受け入れることを忘れないでください:) –

0

あなたが数字で始まるファイルをフィルタリングするために、単純なRegexを使用することができます。

var files = Directory.GetFiles(fbd.SelectedPath) 
        .Where(x=> Regex.IsMatch(Path.GetFileName(x), @"^\d")); 
+2

このケースは、正規表現を使用するのは少し難しいと思います。 – kiziu

1

ファイル名の最初の文字が数字であるかどうかを簡単に確認できます。

関連する問題