如何检查两个字符串是否在C#中是部分匹配?
可能重复:
是否有为C#编写的模糊搜索或字符串相似性函数库?
我正在创建一个应用程序,除了用户输入歌曲或艺术家或专辑名称之外,然后将通过字符串数组或ArrayList查找任何可能的匹配。
将根据匹配百分比计算自动建议。
例如
如果用户键入链接prk,它应该找到Linkin Park
或Link 80
或Link Wray
但匹配百分比将对所有人不同
假设该集合仅搜索艺术家集合中的艺术家姓名和歌曲集合中的歌曲名称。
(百分比数字仅供参考)
Linkin Park - 98% Link Wray -82% Link 80 - 62%
解决方案不一定是C#代码,任何正则表达式或伪代码都会很好,但应该可以在C#中实现。
通常, Levenshtein距离的实现也称为编辑距离。 这将根据将一个字符串转换为另一个字符串所需的最小编辑次数找到匹配项,计算单个字符的所有插入,删除或替换作为“成本”的度量 – 候选者是具有最低成本的字符串。
这是一篇带有C#中通用实现的文章的链接。
你在寻找Levenshtein的距离
这是C#中的一个实现。
这是Levenshtein距离的通用实现 。 (如在两个IEnum
之间的Diff / Dist。中)
用很多种语言实现Levenshtein距离算法。
上述就是C#学习教程:如何检查两个字符串是否在C#中是部分匹配?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1006827.html