现在有一个字符串,例如string s="fkdhfvhejkvrvhervhlevhjevjhehvevlevjhevjhjevj";
我想把他按每10个字符这样分组
写成循环是
for(int i=0;i<s.length/10+1;i++)
{
string new =s.substring(10*i,10);
}
问题是:当取最后一组时,剩余字符长度可能会不足10个
那么我想一开始先处理string s判断是否被10整除,如果不是在末尾补空格使其长度变为被10整除
问题很简单,但代码我不会打,来个人帮一下,谢谢

解决方案 »

  1.   

    if(s.lenth % 10 != 0)
    {
        int AfillLenth = 10 - s.lenth % 10;
        for(int i=0; i<AfillLenth; i++)
        {
             AfillLenth += " ";
        }
    }
      

  2.   

    int count = (s.length + 10 -1)/10;
    for(int i=0;i<count-1;i++)
    {
    string new =s.substring(10*i,10);
    }
    string new2 = s.substring(10*(count-1));
      

  3.   

    AfillLenth += " ";
    改成 
    s += " ";
      

  4.   

    有没有不用循环直接类似于" "*AfillLenth 的方法
      

  5.   

    string s="fkdhfvhejkvrvhervhlevhjevjhehvevlevjhevjhjevj";
    while(s.Length>10)
    {
     lst.Add(s.SubString(0,10));
     s=s.SubString(10);
    }
    lst.Add(s);
      

  6.   

    参考,用PadRight可以实现
                string s = "abc";
                textBox1.Text = s.PadRight(10, '0');
      

  7.   


                String s = "fkdhfvhejkvrvhervhlevhjevjhehvevlevjhevjhjevj";            List<String> ss = new List<String>();            while (s.Length > 10)
                {
                    ss.Add(s.Substring(0, 10));
                    s = s.Substring(9);
                }
                if (s.Length > 0)
                    ss.Add(s);            foreach (String si in ss)
                    Console.WriteLine(si);
      

  8.   


    public static List<string> CutByNum(string str, int num)
    {
    string temp = str;
    int len = str.Length;
    List<string> ret = new List<string>();
    int m = len - (len % num);
    for (int i = 0; i < m; i = i + num)
    {
    ret.Add(temp.Substring(i, num));
    }
    if (m > 0)
    {
    ret.Add(temp.Substring(m).PadRight(num, ' '));
    }
    return ret;
    }