我有两个字符串:
- " NortonAPPLEKooKoo"
- " kooappHelloNort"
醇>
现在 SIMILAR 两个字符串之间的子串(忽略大小写):
"" ......" koo" "应用" " NORT"
如何在c#中编写一个方法来处理该工作?
我的目标是找到结果数组的最大长度,这里是:
" NORT"
答案 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'。