gpt4 book ai didi

c# - 查看字符串中是否存在关键字的算法

转载 作者:太空狗 更新时间:2023-10-29 22:55:48 25 4
gpt4 key购买 nike

假设我在数组中有一组关键字 {"olympics", "sports tennis best", "tennis", "tennis rules"}

然后我有一个很大的字符串列表(一次最多 50 个)字符串(或者实际上是推文),所以它们最多 140 个字符。

我想查看每个字符串,看看那里有哪些关键字。在关键字由多个词组成的情况下,如“sports tennis best”,这些词不必在字符串中一起出现,但它们必须全部出现。

我在想出一种有效执行此操作的算法时遇到了麻烦。

你们有什么建议吗?谢谢!

编辑:为了更好地解释每个关键字都有一个与之关联的 ID,因此 {1:"olympics", 2:"sports tennis best", 3:"tennis", 4:"tennis rules"}

我想浏览字符串/推文列表,看看哪组关键字匹配。输出应该是,这条推文属于关键字#4。 (可能会进行多次匹配,因此匹配关键字 2 的任何内容也将匹配 3 - 因为它们都包含网球)。

当关键字中有多个单词时,例如“运动网球最佳”他们不必一起出现,但必须全部出现。例如这将正确匹配:“我刚打过网球,我喜欢运动,它是最好的”...因为这个字符串包含“sports tennis best”,它将匹配并与 keywordID(在本例中为 2)相关联。

编辑 2:不区分大小写。

最佳答案

IEnumerable<string> tweets, keywords;

var x = tweets.Select(t => new
{
Tweet = t,
Keywords = keywords.Where(k => k.Split(' ')
.All(t.Contains))
.ToArray()
});

关于c# - 查看字符串中是否存在关键字的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2692544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com