2012-06-08 4 views
0

Я использую Split для выбора различных частей длинной строки. Тогда я также использовать Split, чтобы восстановить ту же строку обратно в длинную строку снова, но без первой части строкиИспользуйте split для создания новой строки

string.Split(',')[1] + "," + string.Split(',')[2] + "," + string.Split(',')[3] .... 

Строки Я использую

string info = "id,title,director,actor1,actor2,actor3,genre,runtime,year,comment"; 

Мой вопрос, если есть простой и несложный способ перестроить строку без использования Split, как я? Так как я хочу, чтобы все части строки без первой части, id, тогда должен быть простой способ просто удалить все до первого знака запятой?

+0

Для чего вам нужны детали? Можете ли вы показать, что вы делаете ** до того, как ** вы снова восстановите строку? – gideon

+0

Я использую его так, чтобы установить значения в компоненты в форме окна: lblInfo1.Text = movieManager.GetMovieFromList (index) .Split (',') [1]; –

ответ

1

Я полагаю, что вы не знаете длину подстроки , но вы хотите отрезать все до первой запятой (включая запятую), поэтому самое простое занятие - это, вероятно, найти позицию этой запятой, а затем взять все после этого:

int idx = info.IndexOf(','); 
string result = info.Substring(idx + 1); 
7

Вы более усложнять:

info = info.SubString(info.IndexOf(',') + 1); 

Первый быстрее, это один раз для полноты ради:

info = info.Remove(0, info.IndexOf(',') + 1); 
1

Нет смысла разбивать одну и ту же строку снова и снова. Кроме того, присоединение строки может быть сделано с помощью string.join

Вы пишете:

var str="moo,id,title,director,actor1,actor2,actor3,genre,runtime,year,comment"; 
var parts=str.Split(','); 
var newStr=String.Join(",",parts,1,parts.Length-1); 
Console.WriteLine(newStr); 

Даже лучше, хотя это использовать IndexOf, чтобы найти первое вхождение «» и возвращает строку после первой запятой :

var newStr=str.Substring(str.IndexOf(',')+1); 

Если вы хотите отделить первый элемент от остальной части строки, вы можете сделать это с помощью подстроки:

var firstComma=str.IndexOf(','); 
    var newStr=str.Substring(firstComma+1); 
    var firstStr=str.Substring(0,firstComma); 
Смежные вопросы