String中的歧义以给定的字符串

时间:2017-05-09 05:49:18

标签: c# string

我需要查看字符串是否以给定的字符串开头但是我的模糊性,这是我的代码:

string input = "balance1234";

string[] arr = new string[]
{
    "bal",
    "balance",
};

foreach (string s in arr)
{
    if (input.StartsWith(s))
    {
        var rq= input.Replace(s, "");
    }
}

如果输入为 balance1234 ,则if条件必须仅满足balance,但在我的代码中,首先满足bal

1 个答案:

答案 0 :(得分:2)

这是解决方案(使用Skeet先生给出的提示):

string input = "balance1234";

string[] arr = new string[]
{
    "bal",
    "balance",
};

string rq = input;
foreach (string s in arr.OrderByDescending(x => x.Length))
{
    if (input.StartsWith(s))
    {
        rq = input.Replace(s, "");
        break;
    }
}