分割字符串时获取元素的最后一部分

时间:2013-09-22 21:07:55

标签: c# split

这是我正在尝试锻炼分裂功能。

com是从文本框传递的字符串,它会从文本中删除第一部分。

文本框中的文字正在以".fedex TYU-123 Time to pick up package"

传递

然后,gmsstrip[]数组的第一部分的一部分。

string format = com.Remove(0,1);
string[] strip = format.Split(new string[] { " " }, StringSplitOptions.None);
if (strip[0] == "gsm")
{
    string carrier = strip[0];
    string trackid = strip[1];
    string message = strip[2];
}

strip[2]仅包含"Time"。我想以最后一部分返回:"Time to pick up package"

请记住,因为消息有时也会不同,所以我不想要特定的字符串搜索。

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:3)

听起来你只想分开前三个元素。

Split()有一个重载,可让您告诉它要返回多少项:

format.Split(new[] { ' ' }, 3)

答案 1 :(得分:1)

我假设您希望所有单词都以第三个开头,请使用string.Join(" ", strip.Skip(2))

string[] strip = format.Split(new string[] { " " }, StringSplitOptions.None);
if (strip[0] == "gsm")
{
    string carrier = strip[0];
    string trackid = strip[1];
    string message = string.Join(" ", strip.Skip(2)); //Time to pick up package
}

答案 2 :(得分:0)

你可以使用string.Split(char [],int32)方法,你可以给出最大值。要返回的分割字符串数。

所以:

format.Split(new[] {' '}, 3);

会做到这一点。

更多信息:http://msdn.microsoft.com/en-us/library/c1bs0eda.aspx