根据名称约定从文件夹中选择文件

本文关键字:文件夹 选择 文件 约定 | 更新日期: 2023-09-27 17:57:01

我在一个文件夹中收到一堆XML文件。

我想继续检查具有以下命名约定的文件:

sr-{first_id}-{second_id}-matchresults.xml
收到后

立即解析。

例如:

sr-40-24-standings.xml
sr-40-24-results.xml
sr-40-24-j7844-matchresults.xml

我应该选择那个:sr-40-24-j7844-matchresults.xml

在此之后,什么可以帮助我根据 ASP Web 服务中的命名约定选择文件?

 Dim files As IO.FileInfo() = FolderName.GetFiles("*.xml")

根据名称约定从文件夹中选择文件

private bool IsValid(string value)
    {
        string regexString = "^sr-([a-z0-9]+)-([a-z0-9-]+)-matchresults.xml";
        return Regex.IsMatch(value, regexString);
    }

此方法将为您提供具有指定格式的文件(sr-{first_id}-{second_id}-matchresults.xml)。注意:您的 ID 可以包含字母数字字符,也可以包含"-"符号。如果你不希望 id 中出现该符号,则代码将如下所示:

string regexString = "^sr-([a-z0-9]+)-([a-z0-9]+)-matchresults.xml";

您可以使用正则表达式:

var pattern = new Regex(@"^sr-.............$");

然后在 Directoy.GetFiles 上应用"过滤器"以仅检索与此模式匹配的文件:

var files = Directory.GetFiles("path to files", "*.xml").Where(path => pattern.IsMatch(path)).ToList();