0

私はpdfのディレクトリを持っています。

数値に基づいてこれらのpdfを取得する必要があり、現在これを持っています:

var complianceFiles = System.IO.Directory.EnumerateFiles(complianceDocumentPath, salesOrder.CustomerNumber + "*.*", System.IO.SearchOption.TopDirectoryOnly);

同様の顧客番号 (つまり、1234 と 12345) を含む 2 人の顧客がいる場合、両方が返されます。ドキュメントには番号と一意のタイトルが含まれていることに注意してください。

問題が私の検索パターンにあることはわかっています。助けていただければ幸いです。

4

3 に答える 3

1

EnumerateFiles は * と ? のみをサポートします。ワイルドカード文字として。* は 0 文字以上です。? - 正確に 1 文字。

http://msdn.microsoft.com/library/dd413233.aspx

より具体的にしたい場合は、 @CodeBeard ソリューションを試してください。

于 2013-08-13T20:52:32.877 に答える
1

その時点でファイル名をフィルタリングしようとする代わりに、後で Linq を使用してファイルをフィルタリングすることをお勧めします。そうすれば、正規表現の一致を使用してファイル名をより簡単にフィルター処理できます。

擬似コード:

var wantedfiles = Directory.EnumerateFiles(complianceDocumentPath,"*.*",etc...)
                  .Where(f=>Regex.Match(f.Name,"pattern with salesOrder.CustomerNumber"))
于 2013-08-13T20:52:57.610 に答える