Разделить и соединить строку C# [дубликат]
Возможные Дубликаты:
сначала разделить, а затем присоединиться к подмножеству строки
Я пытаюсь разделить строку на массив, взять первый элемент (использовать его), а затем объединить остальную часть массива в отдельную строку.
пример:
theString = "Some Very Large String Here"
станет:
theArray = [ "Some", "Very", "Large", "String", "Here" ]
затем я хочу установить первый элемент в переменной и использовать его в дальнейшем на.
затем я хочу объединить остальную часть массива в новую строку.
так бы и стало:
firstElem = "Some";
restOfArray = "Very Large String Here"
Я знаю, что могу использовать theArray[0]
для первого элемента, но как бы я concatinate остальной массив новую строку?
3 ответа:
можно использовать
string.Split
иstring.Join
:string theString = "Some Very Large String Here"; var array = theString.Split(' '); string firstElem = array.First(); string restOfArray = string.Join(" ", array.Skip(1));
если вы знаете, что всегда хотите отделить только первый элемент, вы можете использовать:
var array = theString.Split(' ', 2);
это делает его так, что вам не придется присоединиться:
string restOfArray = array[1];
Ну, вот мой "ответ". Он использует тот факт, что строку.Сплит можно сказать, что он должен разделить многие элементы (которые мне не хватает в других ответах):
string theString = "Some Very Large String Here"; var array = theString.Split(new [] { ' ' }, 2); // return at most 2 parts // note: be sure to check it's not an empty array string firstElem = array[0]; // note: be sure to check length first string restOfArray = array[1];
Это очень похоже на
Substring
метод, просто другим способом.
вы можете разделить и соединить строку, но почему бы не использовать подстроки? Тогда вы только в конечном итоге с одним разделением вместо разделения строки на 5 частей и повторного присоединения к нему. Конечный результат тот же, но подстрока, вероятно, немного быстрее.
string lcStart = "Some Very Large String Here"; int lnSpace = lcStart.IndexOf(' '); if (lnSpace > -1) { string lcFirst = lcStart.Substring(0, lnSpace); string lcRest = lcStart.Substring(lnSpace + 1); }