gpt4 book ai didi

c# - 在一组短字符串中查找非常常见的子字符串的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:36 24 4
gpt4 key购买 nike

我有一个来自外部数据库的大约 1500 个字符串的列表,随着时间的推移,当一组业务用户管理它们时,它们开始具有具有语义值的重复出现的子字符串。

我正在构建一个前端,并希望向用户展示这些子字符串的过滤下拉列表。

例如,如果我有输入字符串:

  • 美国富
  • 美国酒吧(无效)
  • 英国 bat
  • 英国 baz(无效)
  • 澳大利亚 womp
  • AU大鼠

我想回去:

  • 美国
  • 英国
  • 澳大利亚
  • 不活跃

我的第一个想法是拥有一个阈值参数和一个分隔符列表。对于上面的内容,我可能会说 threshold=.3 并且分隔符是空格、(, 和 )。

然后使用分隔符执行 string.split 并使用像集合这样的数据结构来计算重复项(?)...

我并不是要让某人在这里为我完成工作 - 从已经做过这件事的人那里获得有关方法的建议会很棒。

最佳答案

这个问题很适合使用 Linq 方法:

var words = from s in listOfStrings
from word in s.Split(new[] { ' ', '(', ')' }, StringSplitOptions.RemoveEmptyEntries)
group word by word;
var dic = words.ToDictionary(g => g.Key, g => g.Count());

关于c# - 在一组短字符串中查找非常常见的子字符串的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7757809/

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