C# 备份文件名的搜索模式
我可以使用什么样的搜索模式来处理C# 备份文件名的搜索模式,c#,C#,我可以使用什么样的搜索模式来处理Directory.GetFiles(rootFolderPath,fileSearchPattern)返回所有具有someName.xxx.txt的文件,其中xxx是一个序列号,如001、002、003等。基本上,如果文件不是以*.txt结尾,而是具有*.txt类型的名称,我想获取它 filename.001.txt filename.002.txt filename.010.txt…等 如果您要查找的文件名中包含,而该文件名不是扩展名的一部分,那么我建议不要在
Directory.GetFiles(rootFolderPath,fileSearchPattern)
返回所有具有someName.xxx.txt
的文件,其中xxx
是一个序列号,如001、002、003等。基本上,如果文件不是以*.txt
结尾,而是具有*.txt
类型的名称,我想获取它
filename.001.txt
filename.002.txt
filename.010.txt
…等 如果您要查找的文件名中包含
,而该文件名不是扩展名的一部分,那么我建议不要在模式搜索中使用GetFiles
方法,因为模式传递到Windows API的方式会与文件名中的句点混淆。相反,您可以使用Linq和Regex进行过滤,如下所示:
var regexPattern = @".*\.\d{3}\.txt";
var files = Directory.GetFiles(@"C:\Users\wired\Documents")
.Where(f => Regex.IsMatch(f, regexPattern));
你试过“.txt”吗?对我来说似乎很合理。@konrad您认为
GetFiles
中的模式比“获取所有文件”列表然后进行筛选快吗?@Johnnymop抱歉,“.txt”不会产生任何结果。谢谢你的建议。@LeiYang我可能不得不这么做。下面的其他人也在建议这一点。谢谢