我怎样才能让 Directory.GetFiles 只显示以数值开头的文件(例如 1abc.pdf);
Directory.GetFiles(@"C:/mydir", "0-9*.pdf")
要获取以任何数值开头的文件,无论位数如何,都可以使用正则表达式:
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]));