现在有这么一个乱的字符串
String str = "[tesdfg={Temp=sdaf,Params=adsfaa,No=2},{No=3}[,list={Temp=sadsfdaf,Params=aasdfa,No=4},{Temp=sdaf, Params=aaa, No=5}";要将其中的[Temp],[Params],[No]取出来,设到一个map中
map = [{Temp=sdaf,Params=adsfaa,No=2},{Temp=sadsfdaf,Params=aasdfa,No=4},{Temp=sdaf, Params=aaa, No=5}]其中{No=3}这个字段不需要,因为这里没有Temp这个字段属性

解决方案 »

  1.   

    能给具体一点的算法吗?觉得首先应该将这串字符进行分割,分成{Temp=sdaf,Params=adsfaa,No=2},
    {Temp=sadsfdaf,Params=aasdfa,No=4},{Temp=sdaf, Params=aaa, No=5},但是具体的长度不能确定
      

  2.   

    是啊 ,能不能说的具体点啊 ,代码也行啊,因为刚学java,不知道怎么写
      

  3.   

    有点像json... 为什么不改成json格式呢?   用JSONObject就可以解析了
      

  4.   


    String str = "[tesdfg={Temp=sdaf,Params=adsfaa,No=2},{No=3}[,list=" +
    "{Temp=sadsfdaf,Params=aasdfa,No=4}," +
    "{Temp=sdaf, Params=aaa, No=5}";
    String ss = "[";
    do{
    String s = str.substring(str.indexOf("{"), str.indexOf("}")+1);
    if(s.startsWith("{Temp")){
    ss += s + ",";
    }
    //或者
    // if(s.indexOf(",") > 0){
    // ss += s + ",";
    // }
    str = str.substring(str.indexOf("}")+1);
    }while(str.indexOf("{") > 0);
    if(ss.endsWith(",")){
    ss = ss.substring(0,ss.length()-1);
    }
    ss += "]";
    System.out.println(ss);