做EXCEL导出,是这样写的:后台查询一个list,list里面是这样的:name=value,name=value,name=value...然后在前台用jstl可以显示出结果然后再将这个list传到后台,放入EXCEL导出
导出这边是这样写的,用split截取,先截‘逗号’,然后截‘=‘一切也都还正常,现在出现一个问题,value里面有的值里面就含有’=‘然后一截取,我的EXCEL导出来乱七八糟的这种情况要怎么解决呢?求前辈给点意见或建议!谢谢了!!!

解决方案 »

  1.   

    补充一下,那个value里面有的含有’=‘,有的不含’=‘,这个要怎么解决呢?愁啊
      

  2.   

    就不能换个别的符号吗我的意思是name=value的‘=’和name里面的那个‘=’,把其中一个换成别的符号。。
      

  3.   

    我觉得你list里面应该是个map形式的,如:List<Map<String,String>>,
    从前台传到后台,还是这个形式,只需要在list里面循环,取得map中的值就行了,不需要split。
    如:
       for(int i=0;i<list.size();i++){
         Map map=list.get(i);
         String name=map.getValue("name");
    }
      

  4.   

    split加上参数
    for example
    String s = "name=1234=abcd";
    String[] sa = s.split("=", 2); //分割成 name, 1234=abcd
    System.out.println(Arrays.toString(sa));
      

  5.   

    4楼的可行
    还有个办法是第二次不split了,直接截字符串String s = "name=1234=abcd";
    int id=s.indexOf("=");
    String key=s.substring(0,id);
    String value=s.substring(id+1);
      

  6.   

    String s = "name1=value1,name2=value2,name3=value3";
    String[] name  = s.split("=(\\w*),?");
    String[] value = s.split(",?(\\w*)=");
    System.out.println(Arrays.toString(name));
    System.out.println(Arrays.toString(value));
    结果:
    [name1, name2, name3]
    [, value1, value2, value3]这个数组自己去掉第一列
      

  7.   


    NND,这个帖子不是上次回复了个一模一样的。