C# 在文本文件中搜索某些值
我有一个要求,当我在一个文件夹中有一堆文件,我需要确定一些符合特定搜索条件的文件 我的文件内容如下 <app>1.0 <app> <name> Test Name <name> 1 测试名称 我的要求是进入这些文件夹并检查符合特定搜索条件的文件。C# 在文本文件中搜索某些值,c#,C#,我有一个要求,当我在一个文件夹中有一堆文件,我需要确定一些符合特定搜索条件的文件 我的文件内容如下 <app>1.0 <app> <name> Test Name <name> 1 测试名称 我的要求是进入这些文件夹并检查符合特定搜索条件的文件。 例如,app=1.0和name='testname'这是一种方法。当然,如果你要做大量的搜索,那么就使用dictionary方法 void Main() { var source = @"<app>1.0 &
例如,app=1.0和name='testname'这是一种方法。当然,如果你要做大量的搜索,那么就使用dictionary方法
void Main()
{
var source = @"<app>1.0 <app>
<name> Test Name <name>";
var regex = new Regex(@"<(?<key>\w+)>\s*(?<value>[^<]*)\s*<\1>");
var matches = regex.Matches(source)
.Cast<Match>()
.Select(m=>new KeyValuePair<string,string>(m.Groups["key"].Value, m.Groups["value"].Value));
// Your test here
if (matches.Any(kvp=>kvp.Key == "app" && kvp.Value == "1.0"))
{
//...
}
/* Here is the dictionary way */
var matchDict = regex.Matches(source)
.Cast<Match>()
.ToDictionary(m=>m.Groups["key"].Value, m=>m.Groups["value"].Value);
// Your dict test here
if (matchDict["app"] == "1.0")
{
//...
}
}
void Main()
{
变量源=@“1.0
测试名称”;
var regex=new regex(@“\s*(?[^这是一种方法。当然,如果要进行大量搜索,请使用dictionary方法
void Main()
{
var source = @"<app>1.0 <app>
<name> Test Name <name>";
var regex = new Regex(@"<(?<key>\w+)>\s*(?<value>[^<]*)\s*<\1>");
var matches = regex.Matches(source)
.Cast<Match>()
.Select(m=>new KeyValuePair<string,string>(m.Groups["key"].Value, m.Groups["value"].Value));
// Your test here
if (matches.Any(kvp=>kvp.Key == "app" && kvp.Value == "1.0"))
{
//...
}
/* Here is the dictionary way */
var matchDict = regex.Matches(source)
.Cast<Match>()
.ToDictionary(m=>m.Groups["key"].Value, m=>m.Groups["value"].Value);
// Your dict test here
if (matchDict["app"] == "1.0")
{
//...
}
}
void Main()
{
变量源=@“1.0
测试名称”;
var regex=new regex(@“\s*(?)?[^您是按名称还是按内容搜索文件?您尝试了什么?Nir Sofer提供的一个名为SearchMyFiles的实用程序可以在不进行任何编码的情况下执行此操作。它们始终是XML文件吗?您可以使用XMLDocument类并使用XPath进行查找。我使用了正则表达式来执行此操作,但没有达到任何目的。您可以使用正则表达式向我们展示不起作用的代码吗?您在搜索吗按名称或内容查找文件?您尝试过什么?Nir Sofer提供的一个名为SearchMyFiles的实用程序可以不进行任何编码就完成这项工作。它们始终是XML文件吗?您可以使用XMLDocument类并使用XPath查找。我使用正则表达式来完成这项工作,但没有达到任何目的。您可以使用正则表达式向我们展示不起作用的代码吗?如果您真的想使用Linq您可以将其转换为一个可以从Linq Where语句调用的方法,传入需要存在/匹配才能返回true的键和值的字典。感谢Robert和所有帮助过我的人如果您真的想使用Linq,您可以将其转换为一个可以从Linq Where语句调用的方法,传入DICT所有需要存在/匹配才能返回true的键和值。感谢Robert和所有帮助我的人