Winforms dot.net 检测字符串一中的 x 个字母是否出现在字符串二中,反之亦然

Winforms dot.net Detect if more than x alphabets of string one are present in string two & vice versa

我正在使用 C# Windows 表单应用程序。任何人都可以帮助我以最快的方式检测是否超过 'x' 个字符串 1 的字母以相同的模式出现在字符串 2 中,反之亦然。

示例:"puppydogphotos.jpg" 中的 "dog" 将算作一次检测。

我正在做类似下面的事情,但在某些情况下失败了:

foreach (var word in Kewords.Split(','))
{
    var filename = Path.GetFileNameWithoutExtension(e.FullPath).ToLower();
    var extenion = Path.GetExtension(e.FullPath).ToLower();

    if (word.ToLower().Contains(filename) || word.ToLower().StartsWith(filename) || word.ToLower().EndsWith(filename) || word.Contains(extenion) || filename.ToLower().Contains(word.ToLower()) ||filename.ToLower().StartsWith(word) || filename.ToLower().EndsWith(word))
    {  
      keywordMatch = true;
    }
} 

谢谢

看起来像方法

    String.Intersect

应该能帮到你

这里的小例子:Implementing an efficent algorithm to find the intersection of two strings