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
我正在使用 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