如何找到两个字符串之间的所有SIMILAR子字符串

时间:2016-12-10 16:08:21

标签: c# arrays string

我有两个字符串:

  
      
  1. " NortonAPPLEKooKoo"
  2.   
  3. " kooappHelloNort"
  4.   

现在 SIMILAR 两个字符串之间的子串(忽略大小写):

  

"" ......" koo" "应用" " NORT"

如何在c#中编写一个方法来处理该工作?

我的目标是找到结果数组的最大长度,这里是:

  

" NORT"

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

        case android.R.id.home:
            super.onBackPressed();
            return true;
    }
    return super.onOptionsItemSelected(item);
}

var string1 = "NortonAPPLEKooKoo"; var string2 = "kooappHelloNort"; var substrings = from start in Enumerable.Range(0, string1.Length) from end in Enumerable.Range(0, string1.Length - start + 1) select string1.Substring(start, end); var matching = substrings.Where(item => string2.Contains(item)); var longest = matching.OrderByDescending(s => s.Length).First(); 包含substrings的所有可能的子字符串。

string1包含matching中也存在的所有子字符串。

string2将是longest中存在的最长子字符串,在您的示例中将是'nort'。