String str= "1234567$梁芳$南湖小区$$2833727$264306";
String tmpStr = str.replaceAll("[$][$]", "$_$");
//应该输出 1234567$梁芳$南湖小区$_$2833727$264306
System.out.pritnln(tmpStr);结果报错:
java.lang.IllegalArgumentException: Illegal group reference试过把 $_$ 改为 [$]_[$]  .. 都不行。但改为A_A就没错。
要抓狂了。
请大侠们指导》。
百分感谢

解决方案 »

  1.   

    String tmpStr = str.replaceAll("\\$\\$", "\\$_\\$");
      

  2.   

    String str= "1234567$梁芳$南湖小区$$2833727$$264306";
      String tmpStr = str.replace("$$", "$_$");
      

  3.   

    replaceAll参数用到了正则表达式(这个东西我不太懂),参数不对会抛出异常PatternSyntaxException :这可能就是楼主碰到的问题楼上的方法也可以.另外,楼主不要混淆replace 和replaceFirst:前者是只替换一个,后者有replace all的意思了
      

  4.   

    不客气刚查了下,好像说是能用replace(1.3都支持)就别用replaceAll(1.4以上支持)
    换特殊字符用replaceAll
    但我也不知道$是不是特殊了