使用流输出json数据,最后转成字符串: 结果打印出来成这样:StringBuffer sb =  new StringBuffer();
sb.append(jsonUtil.list2jsonNoSet(contentList));getResponse().setContentType("text/html; charset=UTF-8"); //输出json
getResponse().getWriter().print(sb.toString());
//这里的红色我在内存里看到确实有\/的非法字符串...{"imgListNavi":[{"bigImg":"http:\/\/c2.cmvideo.cn\/sup\/publish\/clt\/image\/10\/14\/119.png","channelId":"70314","haveData":"false","name":"推荐","smallImg":"http:\/\/c2.cmvideo.cn\/sup\/publish\/clt\/image\/10\/14\/113.png","urlpath":"http:\/\/c2.cmvideo.cn\/sup\/data\/clt\/v2\/listNav.jsp?channelId=70314"},{"bigImg":"http:\/\/c2.cmvideo.cn\/sup\/publish\/clt\/image\/10\/14想用正则表达式把里面的 \/给去掉,结果一写成String str = "http:\/\/c2.cmvideo.cn";  就会提示非法字符串,可是这样的字符串在内存中确实存在,搞了一天了。。  求助达人怎么去掉字符串中的"\/" 将其换成"\\"...

解决方案 »

  1.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class TestRegExp {
    public static void main(String[] args) {
    String str = "http:\\/\\/c2.cmvideo.cn"; 
    Pattern p = Pattern.compile("\\\\/");
    Matcher m = p.matcher(str);
    StringBuffer buf = new StringBuffer();
    while(m.find()){
    m.appendReplacement(buf, "\\\\");
    }
    m.appendTail(buf);
    System.out.println(buf);
    }
    }
      

  2.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class TestRegExp {
    public static void main(String[] args) {
    String str = "http:\\/\\/c2.cmvideo.cn"; 
    Pattern p = Pattern.compile("\\\\/");
    Matcher m = p.matcher(str);
    StringBuffer buf = new StringBuffer();
    while(m.find()){
    m.appendReplacement(buf, "\\\\");
    }
    m.appendTail(buf);
    System.out.println(buf);
    }
    }
      

  3.   


    public class Test{
    public static void main(String[] args){
    String str = "http:\\/\\/c2.cmvideo.cn"; 
    str = str.replaceAll("\\\\","");
    System.out.println(str);
    }
    }