如何根据字符长度拆分字符串

Abb*_*bas 2 c#

我有一个字符串,说有3000个字符,现在我想把它分成数组,每个索引保存不超过500个字符,我没有得到相同的逻辑.我尝试了下面的一个,但它没有工作..

说字符串arr持有3000个字符...

我正在使用循环来获得500的字符长度

这里我将循环返回的值存储在一个数组中......

ArrayList ar = new ArrayList();

for(int i=0; i < arr.Length; i+=500)
{
    ar.Add(arr.Substring(i,500));
}  

Response.Write(ar[0].ToString());
Run Code Online (Sandbox Code Playgroud)

但这会抛出一条错误信息

索引和长度必须指向字符串中的位置.

请回复相应的相应代码,任何回复将不胜感激.

Jon*_*ton 7

几点:

您可能需要测试"i <arr.length - 1",因为当您到达结束时,字符串的最后一个索引是2999,长度是3000.

您也可能需要概括终点,因为您假设字符串是500长的整数.如果你的字符串是2900长,那么最后一个字符串应该是arr.Substring(i,400).

也许试试吧

for(int i=0; i < arr.Length; i+=500)
{
    ar.Add(arr.Substring(i, Math.Min(arr.length - i,500)));
}  
Run Code Online (Sandbox Code Playgroud)