我想将一个很长的字符串进行分解:string s_all="qwertyuioasdfghjklzxcvbnm";
string s1;//计划定长3
string s2;//计划定长4
string s3;//计划定长12
string s4;//计划定长2
string s5;{s1}{s2}{s3}{s4}{s5}=s_all;最终结果是:
取得s1到s5的字符串如下:s1="qwe"s2="rtyu"s3="ioasdfghjklz"s4="xc"s5="vbnm"string截取拆分

解决方案 »

  1.   

    刚刚想到了,或者建一个数组,应该能很好地实现:int[,] j= new int(3,4,12,2) ;
    string[,] s;
    int i;
     for (i = 0; i <= 5;++i)
    {
    s[i]=s_all.substring(0,j[i]);
    s_all=s_all.Remove(j[i]);
    }请高手指点
      

  2.   

    string newstr = 源字符串.SubString(截取起始下标,截取长度)
      

  3.   

    var regex = new Regex(@"(\w{3})(\w{4})(\w{12})(\w{2})(\w+)");
    string[] strings = regex.Split(@"qwertyuioasdfghjklzxcvbnm");
      

  4.   

    理论上说,字符数组拷贝效率最高:string s = "1234567890";
    char[] src_arr = s.ToCharArray();
    char[] dest_arr = new char[5];
    Array.Copy(src_arr, 3, dest_arr, 0, 5);
    string result = new string(dest_arr); // 45678
      

  5.   

    substring也应该很快,正则表达式最慢。