我在寻找一个简单的方法来辨别,如果一个字符串包含另一个字符串的任何部分(是正则表达式,内置的功能我不知道,等...).例如:
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.
提前致谢!
这种方法应该有效.您需要为可能匹配的"部分"指定最小长度.我假设你想要寻找至少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)