string ss = "1图书,2音像,3图书,4音像,5图书,6音像,...";
如何把它结成dd="123456"; tt="图书音像图书音像图书音像";
我需要循环吧1和图书付给两个变量,最好能依次循环赋值给方法!
大家帮帮我把!困扰我很久了!!谢谢!

解决方案 »

  1.   

    正则表达式Regex re=new Regex("(\d+)(.*)");
    string [] s=ss.splite(new char[]{","});
    for(int i=0;i<s.length;i++){
      re.Match(s[i]);//具体的代码你可以参考VS提示  Group1为数字 Group2为文字  
     //赋值的事 自己搞定吧 
     
    }
      

  2.   

    string ss = "1图书,2音像,3图书,4音像,5图书,6音像,...";
    如何把它结成dd="123456"; tt="图书音像图书音像图书音像";
    string[] strs=ss.split(',');
    string dd=string.empty;
    string tt=string.empty;
    for(int i=0;i<strs.length;i++)
    {
        dd+=strs[i].substring(0,1);
        tt+=strs[i].substring(1);
    }
    字符量大,建议用stringbiulder
      

  3.   

    如果
    dd="123456"; 
    tt="图书音像图书音像图书音像";
    就是你要的结果,那可以这样做
    string ss = "1图书,2音像,3图书,4音像,5图书,6音像";
    ss = ss.Replace(",","");
    string dd = Regex.Replace(ss, @"\D", "");
    string tt = Regex.Replace(ss, @"\d", "");
      

  4.   

    anncesky()朋友的方法可行,绝对好使,我试了。
    string ss = "1图书,2音像,3图书,4音像,5图书,6音像";
    string dd = null;
    string tt = null;
    string[] s = ss.Split(new char[] { ',' });
    for (int i = 0; i < s.Length; i++)
    {
       dd += s[i].Substring(0, 1);
       tt += s[i].Substring(1);
    }
    得到效果:dd="123456"; tt="图书音像图书音像图书音像"。