-1
using Visual.Web.Developer.2010.Express;

N00b 在这里,
我将如何为中的每一行文本创建一个搜索实例string1?我想全面搜索string2,看看它是否在string1's搜索实例中包含string2. 两者string1string2都有由 . 分隔的文本行'\n'。有什么明显的方法可以做到这一点吗?有人建议使用正则表达式,但我将如何合并正则表达式来查找和打印..string2中每个项目的匹配项。与..string1string2string1

一些在string1
Part_numbers
1017FOO
1121BAR
等...

一些在string2
SUPERCOLA A 51661017FOOAINDO
DASUDAMA C 89891121BARBLO5W
等...

可能稍后会解决这个问题,但我希望它们像这样格式化,仅供参考

1017FOO 匹配:
SUPERCOLA A 51661017FOOAINDO
+1017FOO 匹配的另一个 +
等等...

提前致谢!
寻找正确方向的指针,我应该使用什么方法

4

1 回答 1

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());
于 2012-06-05T21:51:31.850 回答