概述
C#计算两字符串相似度
动态规划相似度算法经常被用来确定两个字符串文本是否相似,特别是在模糊匹配搜索中。
下面封装的C#.NET函数采用动态规划法比较两个短文本之间的相似度,返回百分比(精确道小数点两位)。
作者: 张赐荣
public static double ComputeTextSame (string textX, string textY, bool isCase = false) // 计算文本相似度函数(适用于短文本)
{
if (textX.Length <= 0 || textY.Length <= 0)
{
return (0);
}
if (!isCase)
{
textX = textX.ToLower();
textY = textY.ToLower();
}
int[,] dp = new int[Math.Max(textX.Length, textY.Length) + 1, Math.Max(textX.Length, textY.Length) + 1];
for (int x = 0; x < textX.Length; x++)
{
for (int y = 0; y < textY.Length; y++)
{
if (textX[x] == textY[y])
{
dp[x + 1, y + 1] = dp[x, y] + 1;
}
else
{
dp[x + 1, y + 1] = Math.Max(dp[x, y + 1], dp[x + 1, y]);
}
}
}
return (Math.Round(((double)(dp[textX.Length, textY.Length]) / Math.Max(textX.Length, textY.Length)) * 100, 2));
}
源文:
https://prc.cx/web/archives/51.html
最后
以上就是平常康乃馨为你收集整理的C#计算两字符串相似度的全部内容,希望文章能够帮你解决C#计算两字符串相似度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复