Select 文件夹中的文件取决于名称约定
Select Files From Folder Depending on Name Convention
我在一个文件夹中收到一堆 XML 个文件。
我想继续检查具有以下命名约定的文件:
sr-{first_id}-{second_id}-matchresults.xml
一收到就解析。
例如:
sr-40-24-standings.xml
sr-40-24-results.xml
sr-40-24-j7844-matchresults.xml
我应该select那个:sr-40-24-j7844-matchresults.xml
这之后发生的事情对我有帮助 select 文件取决于来自 ASP Web 服务的命名约定?
Dim files As IO.FileInfo() = FolderName.GetFiles("*.xml")
您可以使用正则表达式:
var pattern = new Regex(@"^sr-.............$");
然后在 Directoy.GetFiles 上应用 "filter" 以仅检索与此模式匹配的文件:
var files = Directory.GetFiles("path to files", "*.xml").Where(path => pattern.IsMatch(path)).ToList();
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";