Как получить подстроку из строки до определенного символа? - C#

175
04 марта 2018, 21:35

Допустим, у меня есть строка str = "слово1^слово2^слово3^...^словоN". Как мне получить "слово1"?

Можно использовать str.Split('^')[0], но, мне кажется, для больших N это не совсем рационально, другие "слова" мне не нужны.

Answer 1

Может тогда так?

str = "слово1^слово2...";
String word = str.Substring(0, str.IndexOf('^'));

Смотрим, где первый раз встречается разделитель, выбираем подстроку...

Answer 2

У метода string.Split есть перегрузка, принимающая максимальное количество подстрок для возврата:

var str = "слово1^слово2^слово3^...^словоN";
var words = str.Split(new char[] { '^' }, 1);
Console.WriteLine(words.Length); // 1

Это эффективно именно в случае больших N.

Уточню.

Если нужно получить одно первое значение, я бы взял способ из другого ответа с Substring + IndexOf.

Если нужно получить несколько первых значений, я бы взял способ Split с параметром count.

READ ALSO
Загрузка данных при связи Многие ко многим

Загрузка данных при связи Многие ко многим

ЗдравствуйтеВ базе данных есть 2 таблицы

145
Привязать цвет к значению переменной

Привязать цвет к значению переменной

есть например такой элемент:

132
Как сделать скриншот видео игры в Full Screen Mode из .NET?

Как сделать скриншот видео игры в Full Screen Mode из .NET?

Каким образом можно сделать (максимально эффективно) скриншот из видео игры которая может находиться как в Full Screen Mode так и в Window Fullscreen Mode изNET...

177
Блокировка кнопок в c# winforms

Блокировка кнопок в c# winforms

При запуске программы кнопка [старт] уже выделяется (скриншот ниже) и если я нажму пробел то кнопка активируется (идентично тому что если бы я нажал...

528