C# 中是否有任何函数可以检查两个字符串的相似度百分比?
例如我有:
var string1="Hello how are you doing";
var string2= " hi, how are you";
和
function(string1, string2)
将返回相似率,因为行中存在单词“how”、“are”、“you”。
或者更好,返回 60% 的相似度,因为“how”、“are”、“you”是 string1 的 3/5。
C# 中是否存在执行此操作的函数?
最佳答案
字符串相似性的常用度量是所谓的 Levenshtein distance或编辑距离。在这种方法中,定义了一组特定的编辑操作。 Levenshtein 距离是从第一个字符串获得第二个字符串所需的最小编辑步骤数。密切相关的是 Damerau-Levenshtein distance ,它使用一组不同的编辑操作。
从算法上讲,Levenshtein 距离可以使用 Dynamic programming 计算得出。 ,这可以被认为是有效的。但是,请注意,这种方法实际上并没有考虑单个单词,也不能直接用百分比表示相似度。
关于c# - 如何在 C# 中检查两个字符串的部分相似性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29321760/