字符串的拆分。逻辑思维高人来看看
我有一段字符串,里面用","隔开了,但是2个逗号之间的长度不同,假设里面有10W条数据。我想每次都获取200个,我怎么获取第200个“,”的位置?IndexOf()是获取第一个匹配的元素位置哦,要是可以设置第n个匹配的元素位置就爽歪歪了。string str="a,g,df,ww,r,ehg,er,gh,wrg,wre,fgs,df,wgbh,tjh,r,h,rew,hte,h,";字符串格式类似与这个 String .Net C#
[解决办法]
其实用Split就可以实现了,你想,一个,分隔以后的数组长度就是2,也就是说数组长度是逗号数+1,所以第200个,就是数组第200个元素,由于长度有限,我这里就用5代替200了:
string str = "a,g,df,ww,r,ehg,er,gh,wrg,wre,fgs,df,wgbh,tjh,r,h,rew,hte,h,saf";
int index = 5;
string[] array = str.Split(',');
string[] temp = new string[index];
Array.Copy(array, 0, temp, 0, index);
Console.WriteLine(string.Join(",", temp));
[解决办法]
用IndexOf也可以:
string str = "a,g,df,ww,r,ehg,er,gh,wrg,wre,fgs,df,wgbh,tjh,r,h,rew,hte,h,saf";
int sep = 5;
int index = -1, count = 0;
while (count != sep)
{
index = str.IndexOf(',', index + 1);
if (index != -1)
count++;
}
Console.WriteLine(str.Substring(0, index));