c#中字符串中最后一个逗号前的所有元素

时间:2011-07-11 05:18:32

标签: c# string split

如何在c#中的字符串中以逗号(,)之前获取所有元素? 对于例如 如果我的字符串是

string s = "a,b,c,d";

然后我想要在d之前的所有元素,即在最后一个逗号之前。所以我的新字符串大喊看起来像

string new_string = "a,b,c";

我尝试过分裂但是我一次只能有一个特定元素。

4 个答案:

答案 0 :(得分:9)

string new_string = s.Remove(s.LastIndexOf(','));

答案 1 :(得分:6)

如果您想要 last 出现之前的所有内容,请使用:

int lastIndex = input.LastIndexOf(',');
if (lastIndex == -1)
{
    // Handle case with no commas
}
else
{
    string beforeLastIndex = input.Substring(0, lastIndex);
    ...
}

答案 2 :(得分:0)

使用以下正则表达式:"(.*),"

Regex rgx = new Regex("(.*),");
string s = "a,b,c,d";

Console.WriteLine(rgx.Match(s).Groups[1].Value);

答案 3 :(得分:0)

您也可以尝试:

string s = "a,b,c,d";
string[] strArr = s.Split(',');

Array.Resize(strArr, Math.Max(strArr.Length - 1, 1))

string truncatedS = string.join(",", strArr);