字符串中的字符比较然后返回一个整数值并计算百分比

时间:2015-03-03 12:18:40

标签: c# string

我有2个从我的数据库中提取的名字。

string query1 = SELECT FIRSTNAME FROM STUDENT;
string query2 = SELECT FIRSTNAME FROM CUSTOMER;

来自query1的结果是说RESET,来自query2的结果是例如SET。我想比较2个字符串并将匹配作为整数并计算百分比。在上面的例子中匹配是3.所以%将是3/5 * 100.我可以使用哪个C#函数来比较字符串?我想在C#代码中进行比较,而不是使用SQL。

2 个答案:

答案 0 :(得分:0)

给定两个字符串,长度为n的S和长度为m的R,其中n

float percentage = 0;
int index = R.substring(S);
if(index > 0) {
    percentage = R.Length / S.Length * 100;
}

答案 1 :(得分:0)

这将检查字符串是否是另一个字符串的子字符串(如示例RESET vs SET中所示)。注意它是自反的,所以RESET vs SET == SET vs RESET。如果你需要检查子串(所以RESE vs SET == 2/4 == 0.5或其他),那么你需要解释你想要的东西。

public static double Percentage(string str1, string str2) {
    // Handling of empty strings. No divisions by zero here!
    if (string.IsNullOrEmpty(str1) || string.IsNullOrEmpty(str2)) {
        return 0.0;
    }

    // str2 is contained in str1
    if (str1.Contains(str2)) {
        return 100.0 * str2.Length / str1.Length;
    }

    // str1 is contained in str2
    if (str2.Contains(str1)) {
        return 100.0 * str1.Length / str2.Length;
    }

    // No matching
    return 0.0;
}