Разделить строку и получить только первое значение Интересно, можно ли использовать split для разделения строки с несколькими частями, разделенными запятой, например: title, genre, director, actor Мне просто нужна первая часть, название каждой строки, а не остальное? Ответ 1 string valueStr = "title, genre, director, actor"; var vals = valueStr.Split(',')[0]; vals даст вам название Ответ 2 На самом деле есть лучший способ сделать это, чем раскол: public string GetFirstFromSplit(string input, char delimiter) { var i = input.IndexOf(delimiter); return i == -1 ? input : input.Substring(0, i); } И как методы расширения: public static string FirstFromSplit(this string source, char delimiter) { var i = source.IndexOf(delimiter); return i == -1 ? source : source.Substring(0, i); } public static string FirstFromSplit(this string source, string delimiter) { var i = source.IndexOf(delimiter); return i == -1 ? source : source.Substring(0, i); } Использование: string result = "hi, hello, sup".FirstFromSplit(','); Console.WriteLine(result); // "hi" Ответ 3 Вы можете сделать это: var str = "Doctor Who,Fantasy,Steven Moffat,David Tennant"; var title = str.Split(',').First(); Также вы можете сделать это следующим образом: var index = str.IndexOf(","); var title = index < 0 ? str : str.Substring(0, index);
Ответ 1 string valueStr = "title, genre, director, actor"; var vals = valueStr.Split(',')[0]; vals даст вам название
Ответ 2 На самом деле есть лучший способ сделать это, чем раскол: public string GetFirstFromSplit(string input, char delimiter) { var i = input.IndexOf(delimiter); return i == -1 ? input : input.Substring(0, i); } И как методы расширения: public static string FirstFromSplit(this string source, char delimiter) { var i = source.IndexOf(delimiter); return i == -1 ? source : source.Substring(0, i); } public static string FirstFromSplit(this string source, string delimiter) { var i = source.IndexOf(delimiter); return i == -1 ? source : source.Substring(0, i); } Использование: string result = "hi, hello, sup".FirstFromSplit(','); Console.WriteLine(result); // "hi"
Ответ 3 Вы можете сделать это: var str = "Doctor Who,Fantasy,Steven Moffat,David Tennant"; var title = str.Split(',').First(); Также вы можете сделать это следующим образом: var index = str.IndexOf(","); var title = index < 0 ? str : str.Substring(0, index);