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