如何让Directory.GetFiles只显示以数字值开头的文件(例如1abc.pdf);
Directory.GetFiles(@"C:/mydir", "0-9*.pdf")
答案 0 :(得分:4)
要获取以任何数字值开头的文件,无论数字位数如何,都可以使用正则表达式:
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
答案 1 :(得分:3)
无法在搜索模式中直接指定此项。它的功能非常有限(主要支持*
通配符)。实现此目的的最佳方法是过滤*.pdf
,然后使用LINQ查询过滤到以数字开头的那些
Directory
.GetFiles(@"c:\mydir", "*.pdf")
.Where(x => Char.IsDigit(Path.GetFileName(x)[0]));