String不能包含另一个字符串.NET 2.0的任何部分

Aar*_*ron 0 .net c# string

我在寻找一个简单的方法来辨别,如果一个字符串包含另一个字符串的任何部分(是正则表达式,内置的功能我不知道,等...).例如:

string a = "unicorn";
string b = "cornholio";
string c = "ornament";
string d = "elephant";

if (a <comparison> b)
{
    // match found ("corn" from 'unicorn' matched "corn" from 'cornholio')
}

if (a <comparison> c)
{
    // match found ("orn" from 'unicorn' matched "orn" from 'ornament')
}

if (a <comparison> d)
{
    // this will not match
}
Run Code Online (Sandbox Code Playgroud)

类似的东西if (a.ContainsAnyPartOf(b))太过希望了.

另外,我只能访问.NET 2.0.

提前致谢!

juh*_*arr 5

这种方法应该有效.您需要为可能匹配的"部分"指定最小长度.我假设你想要寻找至少2的东西,但是你可以根据需要将其设置为高或低.注意:不包括错误检查.

public static bool ContainsPartOf(string s1, string s2, int minsize)
{
    for (int i = 0; i <= s2.Length - minsize; i++)
    {
        if (s1.Contains(s2.Substring(i, minsize)))
            return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)