java中,
replaceAll("?","");
结果没有去掉?

解决方案 »

  1.   

    replaceAll(/"?/","");  这样试下!
      

  2.   

    ouyangqinxin ,再给我看一下。
      

  3.   

    replaceAll("[?]","");
    replaceAll("\u003F","");
    都试了不行,提示java.util.regex.PatternSyntaxException: Dangling meta character '?' near index 0 ?
      

  4.   

    replaceAll("\\?", "");解释:
    ?是正则表达式中的特殊字符,所以不能直接替换,必须转义,
    而转义符\在java的字符串中也是有特殊含义的,因此必须二次转义,也就是“\\”先由java解释成一个'\',然后再将‘?’转义成普通字符。
      

  5.   

      自己好好分析下这段代码: String str="agc?aa";
    String strTemp=str.replace("?", "##########");
    System.out.println(str);
    System.out.println(strTemp);agc?aa
    agc##########aa
      

  6.   

      用StringBuffer或StringBuilder就不需要借助其他变量了
      

  7.   


    人家问的是replaceAll,你脸红去吧。
      

  8.   


    请你看清题目,人家问的是replaceAll,这个方法的第一个参数,java是作为正则表达式对待的。
      

  9.   

    我单独写了一个类,运行下面这句是可以替换的,
    str1.toString().replaceAll("\\?","");但是,我从程序读到指定的网页,
    网页中的"?"这个符号就是不能替换,很奇怪。不知道为什么。
      

  10.   

    package am.url;
    public   class   Wh   
      {   
        
      public   static    String   main(String content)   
      {   
      
    //content=50?O;
      String   str1=content;
      String   str2="";
      str2=str1.toString().replaceAll("\\?O","");
      
      System.out.println(str2); 
      return str2;
      
      }   
      }
    ===content用注册掉的那句,可以去掉"?O"
    从网页中取出来的html,调用这个方法,就找不到?O,奇怪
      

  11.   

    和用StringBuffer 有关系么?
      

  12.   

    String srt="abc?abc";str.replaceAll("?", "#");会提示这样的错误Dangling meta character '?' near index 0
    ?
    ^
    at java.util.regex.Pattern.error(Unknown Source)
    at java.util.regex.Pattern.sequence(Unknown Source)
    at java.util.regex.Pattern.expr(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.util.regex.Pattern.<init>(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.lang.String.replaceAll(Unknown Source)str.replaceAll("[?]", "#");