为字符串中的每个项目创建正则表达式搜索实例

本文关键字:创建 正则表达式 搜索 实例 项目 字符串 | 更新日期: 2023-09-27 18:36:28

using Visual.Web.Developer.2010.Express;

N00b 在这里,
我将如何为string1中的每一行文本创建一个搜索实例?我想完整地搜索string2,以查看它是否string1's搜索实例中包含string2中每个项目的 1 行文本。string1string2都有用''n'分隔的文本行。有没有一些明显的方法可以做到这一点?有人建议使用正则表达式,但是我将如何合并正则表达式以查找和打印string2中每个项目的匹配项string1..string2中有多个实例与string1中的单个项目相关。

string1中的一些:

Part_numbers1017FOO
1121巴
等。。。

string2中的一些:
超级可乐A 51661017福安多
达苏达玛 C 89891121巴布罗5W
等。。。

以后可能会弄清楚这一点,但我希望它们像这样格式化,仅供参考

1017FOO 匹配:
超级可乐A 51661017福安多
+另一个1017FOO匹配
+等。。。

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

为字符串中的每个项目创建正则表达式搜索实例

您编写的要求不需要正则表达式,所以我没有使用它们。如果需要,您应该能够非常轻松地合并它们......

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());