在Mysql 5.0/C#/LINQ中,字符串与另一组具有不同**组合**的字符串匹配/比较
本文关键字:字符串 一组 组合 比较 串匹配 字符 LINQ Mysql | 更新日期: 2023-09-27 18:22:48
我有一些字符串,例如:
string 1:我想见我的朋友
字符串2:我的朋友有一支红色笔和黄色框
string 3:这个黄色盒子属于我的朋友
string 4:他是医生
等等。。。。
我想将这些字符串与另一个字符串进行比较:笔盒好友,应该首先得到string 2的结果,然后是string 3和string1
请帮帮我。我想知道应该怎么做。我的思维方式是一种非常耗时的方法。有什么简单的方法可以做到这一点吗。我希望它在以下任何中完成:Mysql5.0或C#或LINQ
var searchTerms = Comparate.Split(' ');
var results = inputs
.GroupBy(sentence => sentence.Split(' '))
.Where(grouping => searchTerms.Intersect(grouping.Key).Any())
.OrderByDescending(grouping => grouping.Key.Count())
.SelectMany(grouping => grouping);
上下文用法:
var inputs = new[] {
"I want to see my friend",
"My friend has a red pen and yellow box",
"This yellow car belongs to my friend",
"He is a doctor"
};
const string Comparate = "pen box friend";
var searchTerms = Comparate.Split(' ');
var results = inputs
.GroupBy(sentence => sentence.Split(' '))
.Where(grouping => searchTerms.Intersect(grouping.Key).Any())
.OrderByDescending(grouping => grouping.Key.Count())
.SelectMany(grouping => grouping);
foreach (var result in results)
Console.WriteLine(result);