我正在编写代码以从名称为“1”,“2”,“3”,“4”等的输出文件夹中获取子目录(即sub只有数名目录)如何使用GetDirectories搜索数字目录名称C#
例如: 这是我的输出文件夹:C:\用户\某某\桌面\输出
我想子目录与名称
“1 “,”2“,”3“,”4“
输出:
C:\用户\ XYZ \桌面\输出\ A \ A1 \ 1
C:\用户\ XYZ \桌面\输出\ A \ A1 \ 2
C:\ Users \ xyz \ Desktop \ Output \ A \ A1 \ 3
C:\ Users \ xyz \ Desktop \ Output \ A \ A1 \ 4
C:\ Users \ xyz \ Desktop \ Output \ A \ A2 \ 1
C:\ Users \ xyz \ Desktop \ Output \ A \ A2 \ 2
在我的代码中,我尝试使用搜索模式,但无法找到所需的输出:
这里是片段,它可以获取所有名称为“1”
string[] destDir1 = Directory.GetDirectories(
destinationFolderPath,
"1",
SearchOption.AllDirectories);
的子目录因此,为了获得所有与名称为“1”的目录, “2”,“3”和“4”我使用方括号的通配符如下,这是行不通的。
string[] destDir1 = Directory.GetDirectories(
destinationFolderPath,
"[0-9]",
SearchOption.AllDirectories);
我跟着msdn link以获取搜索模式更多的选择通配符
有什么不对这个逻辑?
https://msdn.microsoft.com/en-us/library/ms143325%28v=vs。 110%29.aspx 正则表达式不支持! – Alex
'[0-9]'通配符不适用于GetDirectories。据我所知,只支持'?'和'*'。你应该得到所有的目录然后过滤它们 – Pikoh
'int tempVar = 0;字符串[] dirs = Directory.GetDirectories(destinationFolderPath).Where(dir => int.TryParse(dir,out tempVar));' – Blablablaster