过滤具有两个或更多文件扩展名的文件名

时间:2019-03-05 17:00:22

标签: c# string

我有大量的文件名作为字符串,我想用C#中两个或多个文件扩展名过滤文件名。

示例:

  • pic.jpng
  • pic_21.03.2007_.jpng
  • manuel.pdf
  • manuel.pdf.exe ....我要过滤的那个!
  • pic_3.jpng

如何搜索文件名中具有两个或更多文件扩展名的字符串?

1 个答案:

答案 0 :(得分:0)

如果通过文件扩展名表示文件名中的句点数,则只需将“。”计数即可。每个文件名中的字符。例如:

var myFilenames = new[] { "pic.jpng", "manuel.pdf", "manuel.pdf.exe" };
var twoOrMoreExtensions = myFilenames.Where(f => f.Count(x => x == '.') >= 2);
foreach (var filename in twoOrMoreExtensions)
{
    Console.WriteLine(filename);
}

会写出:

  

manuel.pdf.exe

不过,正如注释中所指出的那样,如果您包含pic_21.03.2007_.jpng,则根据该规则将具有“ 3个扩展名”。