Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有两个字符串(它们最终将成为一个简单数据库中的描述),假设它们是
我要找的是这个。我想要一个输入“cocnut”,输出为“String A”的函数
我们可能在大小写上有所不同,并且拼写并不总是正确的。如果您愿意,目标是“快速而肮脏”的搜索。
是否有任何.net(或第三方),或者推荐字符串的“相似算法”,所以我可以检查输入是否有一个“非常接近的片段”并返回它?我的数据库将有 50 个条目,顶部。
您正在搜索的内容称为两个字符串之间的编辑距离。有很多实现——<a href="https://stackoverflow.com/a/9454016/1968">这里有一个来自 Stack Overflow 本身。
由于您只搜索字符串的一部分,因此您想要的是局部最优匹配,而不是通过此方法计算的全局匹配。
这被称为局部对齐问题,并且再次通过几乎相同的算法很容易解决 - 唯一改变的是初始化(我们不会惩罚搜索字符串之前的任何内容)和最佳值的选择(我们不要惩罚搜索字符串之后的任何内容)。