あるフォルダの配下の中の所定のパターンで命名されたフォルダ名だけ取得したい

こんにちは
フォルダ操作についてうまくいかないので質問させていただきます
調べているのですがなかなか難しく。

階層の深いフォルダ(13階層あります)のなかで、
フォルダ名が「000000-0000~」で始まるものだけピックアップしたいのですが、
うまくいきません
(0は数値、実際は031265-1234とか、098756-9997とかいろいろです)
(数値6桁 + -(ハイフン)+ 数値4桁です)

以下のような感じで 正規表現を使って抽出してみましたが、結果はNo Hit でした
書き方が間違っているのでしょうか
System.IO.Directory.GetDirectories(“フォルダ名”, “[1]{6}-[0-9]{4}”, SearchOption.AllDirectories)

ご助言いただけましたら幸いです
よろしくお願いします


  1. 0-9 ↩︎

こんにちは

以下式をお試しください

arrFolder = System.IO.Directory.GetDirectories("YourFolder","*.*", SearchOption.AllDirectories).Where(Function(f) System.Text.RegularExpressions.Regex.IsMatch(System.IO.Path.GetFileName(f),"^\d{6}-\d{4}")).ToArray()

arrFolderは文字列配列です。

1 Like

Yoichiさま

すばらしいです!うまくいきました
やりたかったことが実現できました
ありがとうございました!!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.