Подтвердить что ты не робот

Разделить строку на основе первого появления символа

Как я могу разделить строку С# на основе первого вхождения указанного символа? Предположим, что у меня есть строка со значением "101, a, b, c, d". Я хочу разбить его на 101 и a, b, c, d. То есть при первом вводе запятой.

4b9b3361

Ответ 1

Вы можете указать количество подстрок, возвращаемых с помощью string.Split:

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

Возврат:

101
a,b,c,d

Ответ 2

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

Ответ 3

Вы можете использовать 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 следует избегать включения запятой.

Ответ 4

Используйте функцию string.Split(). Требуется макс. количество кусков, которые оно создаст. Скажем, у вас есть строка "abc, def, ghi", и вы вызываете Split() на нее с параметром count, установленным в 2, он создаст две части "abc" и "def, ghi".