[code]({"Auction" : [{"Type"    :   "Normal" ,"Status"    :   "Live" ,"Price"    :   6.28 ,"UserName"    :   "lname" ,"PlaceBid"    :   115 ,"FreeBid"    :   512 ,"RemainTime"    :   "00:00:05.0003750" ,"FinalPrice"    :   6.28 ,"Active"    :   "" ,"ID"    :   13924 }]})[/code]请教一下一个字符串处理的问题,如上,我想将这堆字符串全部存进到一个二维数组里面,应该如何进行操作,注意:“”[]{}"":都不要的,如果用REPALCE的话真的很麻烦,有没有其他更加好的办法?
剩下的分全部送上了

解决方案 »

  1.   

    怎么用【CODE】【/CODE】发不了呢 ?再附上字符串: ({"Auction" : [{"Type"    :   "Normal" ,"Status"    :   "Live" ,"Price"    :   6.28 ,"UserName"    :   "lname" ,"PlaceBid"    :   115 ,"FreeBid"    :   512 ,"RemainTime"    :   "00:00:05.0003750" ,"FinalPrice"    :   6.28 ,"Active"    :   "" ,"ID"    :   13924 }]})
      

  2.   

    没怎么明白,一个字符串就算是转换成2进制的为什么要放到2维数组呢?1维的就够了吧,byte数组不够?
      

  3.   

     我是想将这些数据分别放到数组里面,方便后面的使用,因为后面要用到。name,stauts.....等有用的数据。将它们一个个存到数据库里面不同的表的字段里面,这样说 sleep0110 明白了吧如果换成二进制就不可以这样操作了。。
      

  4.   

    想得到的效果如下:如果用其他办法可以将数据分成这样也可以的:但是不知道怎么做到:arry[0][0] = [Type,Normal]
    arry[0][1] = [Status,Live]
    arry[1][0] = [Price,6.28]
    arry[0][2] = [UserName,lname]
    arry[2][0] = [PlaceBid,115]
    arry[0][3] = [FreeBid,512]
    arry[3][0] = [RemainTime,00:00:05.0003750]
    arry[0][4] = [FinalPrice,6.28]
    arry[4][0] = [Active,]
    arry[0][5] = [ID,13924]
      

  5.   

    using System.Text.RegularExpressions;ArrayList array=new ArrayList();
    Regex reg=new Regex(@"""(?<key>)\w+)""\s*:\s*""(?<value>\w*)""");
    foreach(Match m in reg.Matches(yourString))
    {
     array.Add(m.Groups["key"].Value+","+m.Groups["value"].Value);
    }
      

  6.   

    打错一个括号,汗using System.Text.RegularExpressions;ArrayList array=new ArrayList();
    Regex reg=new Regex(@"""(?<key>\w+)""\s*:\s*""(?<value>\w*)""");
    foreach(Match m in reg.Matches(yourString))
    {
     array.Add(m.Groups["key"].Value+","+m.Groups["value"].Value);
    }
      

  7.   

    再修正:using System.Text.RegularExpressions;ArrayList array=new ArrayList();
    Regex reg=new Regex(@"""(?<key>\w+)""\s*:\s*(?:""(?<value>\w*)""|(?<value>\d+(?:\.\d+)?))");
    foreach(Match m in reg.Matches(yourString))
    {
     array.Add(m.Groups["key"].Value+","+m.Groups["value"].Value);
    }
      

  8.   


    如果是这样的要求,
    为啥不直接用list<T>呢?如果觉得list<T>不好用,那么直接构造一个DataTable也成在C#里面实际多数常用数据结构,已经被类,对象化了。已经不必绞尽脑汁滴按传统数据结构里面那样天天和指针,链表,数组打交道了
      

  9.   


    看你的数据格式,应该是json的格式把,如果是json实际上是有json.net控件可以帮助你从json转到c#对象滴
      

  10.   


    是啊,是json格式的,我找找看看,,谢了。。
      

  11.   

    肯定要有规律哦,要不然就没办法取到。------------------------------------------
    欢迎加入我的程序设计QQ群80532706哟
    请注册bbs.bbs180.com,并写清把ID号,然后加入群。
      

  12.   


    不是已经在13楼发出来了吗?可以不用ArrayList,而使用hash。。
      

  13.   

    OMG,正则表达式把我的最重要的一项: RemainTime,00:00:05.0003750  去掉了回来啊救命!!HELP!
      

  14.   

     谢谢min_jie再次帮我搞好了! 
     
    Regex reg=new Regex(@"""(?<key>\w+)""\s*:\s*(?:""(?<value>[^""]*)""|(?<value>\d+(?:\.\d+)?))");