我使用Split来挑选长字符串的不同部分。然后我也使用Split将相同的字符串重新生成一个长字符串,但没有字符串的第一部分
string.Split(',')[1] + "," + string.Split(',')[2] + "," + string.Split(',')[3] ....
字符串I' m
string info = "id,title,director,actor1,actor2,actor3,genre,runtime,year,comment";
我的问题是,是否有一种简单而简单的方法来重建字符串而不像我那样使用Split?既然我想要字符串的所有部分而没有第一部分,即id,那么应该有一种简单的方法来删除第一个逗号之前的所有内容吗?
答案 0 :(得分:7)
你的事情过于复杂:
info = info.SubString(info.IndexOf(',') + 1);
第一个更快,这个只是为了完整起见:
info = info.Remove(0, info.IndexOf(',') + 1);
答案 1 :(得分:1)
我想你不知道子串的长度,但是你想在第一个逗号(包括逗号)之前删除所有内容,所以最简单的事情就是寻找这个逗号的位置然后取之后的一切:
int idx = info.IndexOf(',');
string result = info.Substring(idx + 1);
答案 2 :(得分: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);