相对于长度的字符串比较值



我需要一个排序算法,它将返回一个可以使用的比较值,而不管字符串的长度如何。我试过几种不同的方法,但坦率地说,我的数学很差。

基本上,我需要得到一个值,它可以找到字符串中不同字符的百分比,并将它们返回到一个可以用于阈值的值。

以下是一些例子:

A Sample String -> A Samlpe String

缺少2个字符。。

A Substantially Longer Sample String - > A Substantially Longer Samlpe String

仍然缺少2个字符。。

那么,无论字符串长度如何,我如何制作返回类似值的东西呢?

我真的不明白这个问题,但这就是你的意思吗?

public double Compare(string a, string b)
{
int min = Math.Min(a.Length, b.Length);
int max = Math.Max(a.Length, b.Length);
double match = 0;

for (int i = 0; i < min; i++)
{
if(a[i] == b[i])
{
match++;
}
}
return match / max;
}

字符串长度在这里无关紧要,您匹配最短字符串的字符,并返回基于最长字符串的百分比。

最新更新