根据第一次出现的字符拆分字符串

时间:2014-02-03 04:14:22

标签: c# asp.net .net string

如何根据第一次出现的指定字符拆分C#字符串? 假设我有一个值为“101,a,b,c,d”的字符串。我想把它分成101& A B C D。这是第一次出现逗号字符。

6 个答案:

答案 0 :(得分:100)

您可以使用string.Split指定要返回的子字符串数:

var pieces = myString.Split(new[] { ',' }, 2);

返回:

101
a,b,c,d

答案 1 :(得分:16)

string s = "101,a,b,c,d";
int index = s.IndexOf(',');
string first =  s.Substring(0, index);
string second = s.Substring(index + 1);

答案 2 :(得分:6)

您可以使用Substring分别获取这两个部分。

首先,您使用IndexOf获取第一个逗号的位置,然后将其拆分:

string input = "101,a,b,c,d";
int firstCommaIndex = input.IndexOf(',');

string firstPart = input.Substring(0, firstCommaIndex); //101
string secondPart = input.Substring(firstCommaIndex + 1); //a,b,c,d

在第二部分,+1是为了避免包含逗号。

答案 3 :(得分:3)

使用string.Split()功能。它需要最多。它将创建的块数。假设您有一个字符串“abc,def,ghi”,并且在count参数设置为2的情况下调用Split(),它将创建两个块“abc”和“def,ghi”。

答案 4 :(得分:1)

var pieces = myString.Split(',', 2);

这行不通。重载将不匹配,编译器将拒绝它。

所以必须是:

char[] chDelimiter = {','};
var pieces = myString.Split(chDelimiter, 2);

答案 5 :(得分:0)

在.net Core中,您可以使用以下内容;

var pieces = myString.Split(',', 2);

返回:

101
a,b,c,d