c# – 字符串与字符比较

我希望在本例中将字符串与c#中的另一个字符串进行比较

 string Text1 = "123bob456";
 string Text2 =  "bobishere";

我想说,如果更多的3个(或更多)字符按顺序匹配,则返回true,在这种情况下,它们都是真的,因为它们都包含“bob”.
但我不知道该怎么做,请你帮忙,对不起,如果这是一个重复的问题,我知道如何说出来.

最佳答案
你的问题是longest common substring problem,它可以在两个字符串长度之和的时间内解决.请参阅链接以了解可能的算法.

如果您愿意稍微提高性能,可以通过考虑第一个字符串中的每个3个字符的序列并在第二个字符串中搜索该序列来更简单地执行此操作.这是一个例子(我对C#不太熟悉,所以请原谅任何语法错误):

for (int i = 0; i < s1.Length - 2; i++)
    if (s2.Contains(s1.Substring(i, 3)))
        return true;
return false;

您的选择取决于您的具体问题.如果它太慢,我会尝试第二种方法并进行修改.

转载注明原文:c# – 字符串与字符比较 - 代码日志