有个字符串,他不听话,我要把它分成几部分

夜色镇歌 2012-01-11 02:56:56
string a = "111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333"

就像这样一个字符串 我想把它100个分一组 100个分一组 把他们加到一个数组里面 或者干脆都截取成字符串
...全文
195 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdt_mj2 2012-01-11
  • 打赏
  • 举报
回复
{0,100}
蝶恋花雨 2012-01-11
  • 打赏
  • 举报
回复
当然拉
能给你不好的吗?给分吧.
夜色镇歌 2012-01-11
  • 打赏
  • 举报
回复
兄弟你的最好用[Quote=引用 17 楼 kongwei521 的回复:]

C# code
string a = @"11111111122222222222233333333333344444444444445555555555577777888888899999999991111111111112222222222222215555555555848888888888";
a += "1111111111111222222222222222……
[/Quote]
民工_小牛 2012-01-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liuqian4243 的回复:]

与根据子级找父级,,根据父级找子级,

两者的递归是类似的
[/Quote]

或者直接一个循环,不是100个一组么,那么循环变量i就递增100
夜色镇歌 2012-01-11
  • 打赏
  • 举报
回复
linq...膜拜

[Quote=引用 15 楼 caozhy 的回复:]

string a = "1111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666……
[/Quote]
蝶恋花雨 2012-01-11
  • 打赏
  • 举报
回复
string a = @"11111111122222222222233333333333344444444444445555555555577777888888899999999991111111111112222222222222215555555555848888888888";
a += "1111111111111222222222222222223333333333333333333344444444444456565656565656565656878787899999999994555555555555";

int iNum = 100;
int iCouLength = a.Length / iNum;
string[] test = new string[iCouLength + 1];//因为有不等于100长度的情况
int j = 0;
for (int i = 0; i <= iCouLength; i++)
{
if (i == iCouLength)
test[i] = a.Substring(i * iNum);//不等于100个长度的情况
else
test[i] = a.Substring(i * iNum, iNum);//等于100的情况。
}

str[0]=1111111112222222222223333333333334444444444444555555555557777788888889999999999111111111111222222222
str[1]=2222215555555555848888888888111111111111122222222222222222333333333333333333334444444444445656565656
str[2]=5656565656878787899999999994555555555555
z_f_p 2012-01-11
  • 打赏
  • 举报
回复
threenewbee 2012-01-11
  • 打赏
  • 举报
回复
string a = "111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333";
string[] result = (from x in a.Select((y, i) => new { y, i })
group x by x.i / 100 into g
select string.Join("", g)).ToArray();
夜色镇歌 2012-01-11
  • 打赏
  • 举报
回复
Regex reg = new Regex(".{100}"); 100倍数以外的都没了
[Quote=引用 12 楼 hdt_mj2 的回复:]

C# code
string a = "1111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666……
[/Quote]
夜色镇歌 2012-01-11
  • 打赏
  • 举报
回复
好像可以用···
[Quote=引用 9 楼 zhaoyanzhe 的回复:]

string a = "1111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666……
[/Quote]
hdt_mj2 2012-01-11
  • 打赏
  • 举报
回复
string a = "111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333";

Regex reg = new Regex(".{100}");
MatchCollection mct = reg.Matches(a);
foreach (Match m in mct)
{
Console.WriteLine(m.Value);
}
Console.Read();
夜色镇歌 2012-01-11
  • 打赏
  • 举报
回复
说用递归的赶紧上代码啊亲们

Int32 i, j, k;
List<string> lst=new List<string>();
string a = "123456789";
i = 2; //i:每组几个 //j:被截走的长度 //k:循环几次
k = a.Length % i == 0 ? a.Length / i : a.Length / i + 1;
j = 0;
for (int y = 0; y < k; y++) //此处出错····
{
a = a.Substring(j, i);
lst.Add(a);
j += i;
}



第二次for循环的时候出错了

索引和长度必须引用该字符串内的位置。
参数名: length
ZhangNan20100811 2012-01-11
  • 打赏
  • 举报
回复
递归方法更简便快捷。
zhaoyanzhe 2012-01-11
  • 打赏
  • 举报
回复
string a = "111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333334444444445555555555555556666666666666667777777777777777788888888888888888888888888888888999999999999999999999999991111122222233333344444444455555555555555566666666666666677777777777777777888888888888888888888888888888889999999999999999999999999911111222222333333444444444555555555555555666666666666666777777777777777778888888888888888888888888888888899999999999999999999999999111112222223333";
int length = Convert.ToInt32((double)a.Length / 100);
string[] str = new string[length];
for (int i = 0; i < length; i++)
{
if (i == length - 1)
{
str[i] = a.Substring(i * 100);
}
else
{
str[i] = a.Substring(i * 100, 100);
}
}
pmars 2012-01-11
  • 打赏
  • 举报
回复
while循环substring,只要够100就截取,之后不够了,自己就算一个单独的串,一个一个加到数组里面应该就轻松了吧!
夜色镇歌 2012-01-11
  • 打赏
  • 举报
回复
那么复杂啊[Quote=引用 6 楼 liuqian4243 的回复:]

与根据子级找父级,,根据父级找子级,

两者的递归是类似的
[/Quote]
Ny-6000 2012-01-11
  • 打赏
  • 举报
回复
与根据子级找父级,,根据父级找子级,

两者的递归是类似的
Ny-6000 2012-01-11
  • 打赏
  • 举报
回复
写个递归方法,

取一次后,根据余下的长度,再调用函数取一次

到最后长度小于取的长度了,就返回原余下的值了.
夜色镇歌 2012-01-11
  • 打赏
  • 举报
回复
我想要的就是类似 Split 一样 根据字符截取 然后都加到数组里面


现在是需要根据长度截取 该怎么办``
夜色镇歌 2012-01-11
  • 打赏
  • 举报
回复
SubString截取之后剩下的怎么办??剩下的我也要的
加载更多回复(2)

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧