using Visual.Web.Developer.2010.Express;
N00b在这里,
如何为string1
中的每一行文本创建搜索实例?我想在其中完整地搜索string2
,以查看string1's
搜索实例中是否包含string2
中每个项目的1行文本。 string1
和string2
都包含由'\n'
分隔的文本行。有一些明显的方法可以做到这一点吗?有人建议使用RegEx,但如何在string2
中为string1
中的每个项目添加一个RegEx来查找和打印匹配项。string2
中有多个实例相关联到string1
中的单个项目。
string1
中的一些人:
Part_numbers
1017FOO
1121BAR
等...
string2
中的一些人:
SUPERCOLA A 51661017FOOAINDO
DASUDAMA C 89891121BARBLO5W
等...
可能会稍后解决这个问题,但我希望它们的格式是这样的,仅供参考。
1017FOO匹配:
SUPERCOLA A 51661017FOOAINDO
+ 1017FOO匹配的另一个+
等...
提前谢谢!
寻找正确方向的指针,我应该使用什么方法
答案 0 :(得分:3)
您的书面要求不需要正则表达式,因此我没有使用它们。如果你需要,你应该能够很容易地将它们合并......
string partNumbers = @"1017Foo
1121BAR
SomethingElse";
string searchText = @"SUPERCOLA A 51661017FOOAINDO
DASUDAMA C 89891121BARBLO5W";
string[] searchTerms = partNumbers.Split('\n');
string[] searchedLines = searchText.Split('\n');
StringBuilder output = new StringBuilder();
foreach(string searchTerm in searchTerms){
int matchCount = 0;
output.AppendLine(string.Format("For term: {0}", searchTerm.Trim()));
foreach(string searchedLine in searchedLines){
if(searchedLine.Trim().ToLower().Contains(searchTerm.Trim().ToLower())){
output.AppendLine(searchedLine.Trim());
matchCount++;
}
}
if(matchCount == 0){
output.AppendLine("There was no match");
}
output.AppendLine("== End of search ==");
}
Console.WriteLine(output.ToString());