C# 如何计算目录中文件的匹配数
回答这个问题后,我想问很多问题 我如何找到一个目录中是否至少存在一个(如果您提供与某个正则表达式匹配的文件数,则更好) 我知道我可以循环目录中的文件 但是有一种不循环计数的方法吗C# 如何计算目录中文件的匹配数,c#,regex,file,C#,Regex,File,回答这个问题后,我想问很多问题 我如何找到一个目录中是否至少存在一个(如果您提供与某个正则表达式匹配的文件数,则更好) 我知道我可以循环目录中的文件 但是有一种不循环计数的方法吗 我尝试使用count(),但这不起作用从链接的问题/答案中获取,这应该起作用: int count = Directory.GetFiles(@"c:\temp").Count(path => Regex.IsMatch(path, pattern)); 从您的链接问题/答案中提取,这应该有效: int cou
我尝试使用count(),但这不起作用从链接的问题/答案中获取,这应该起作用:
int count = Directory.GetFiles(@"c:\temp").Count(path => Regex.IsMatch(path, pattern));
从您的链接问题/答案中提取,这应该有效:
int count = Directory.GetFiles(@"c:\temp").Count(path => Regex.IsMatch(path, pattern));
通过使用Directory.GetFiles方法返回的数组的Length属性,可以在不使用底部foreach循环的情况下获取它们
int count = matches.Length;
通过使用Directory.GetFiles方法返回的数组的Length属性,可以在不使用底部foreach循环的情况下获取它们
int count = matches.Length;
如果模式很简单,那么目录中的GetFiles已经提供了信息,而不使用RegEx
int count = Directory.GetFiles(@"c:\", "*.txt", SearchOption.AllDirectories).Count();
如果模式很简单,那么目录中的GetFiles已经在不使用RegEx的情况下提供了信息
int count = Directory.GetFiles(@"c:\", "*.txt", SearchOption.AllDirectories).Count();
不,您必须获取列表中的文件,然后使用正则表达式模式进行匹配。where子句将被过滤。您有大量文件吗?没有,您必须获取列表中的文件,然后使用regex模式进行匹配。where子句将被过滤。你有大量的文件吗?你正在用正则表达式匹配路径。我想它应该是
regex.Match(File.ReadAllText(path),pattern)
注意你也可以使用一个方便的快捷方式:regex.Match(path,pattern)。成功
可以用regex.IsMatch(path,pattern)
,它直接返回一个bool
。您正在将路径与regex匹配。我想它应该是regex.Match(File.ReadAllText(path),pattern)
注意,您还可以使用一个方便的快捷方法:regex.Match(path,pattern)。成功
可以替换为regex.IsMatch(path,pattern)
,它直接返回一个bool
。