Directory.GetFiles:仅显示以数值开头的文件

本文关键字:开头 文件 GetFiles 显示 Directory | 更新日期: 2023-09-27 18:27:27

如何让Directory.GetFiles只显示以数值开头的文件(例如1abc.pdf);

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

Directory.GetFiles:仅显示以数值开头的文件

要获取以任何数值开头的文件,无论位数如何,都可以使用正则表达式:

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]));