日期:2014-05-20  浏览次数:20592 次

问一个replaceAll替换的问题,在线等!
如下所示:

              StringBuffer   sql   =new   StringBuffer();
              sql.append( "                             <tbody> ");
              sql.append( "             <!--Begin_LanguageAndMoney_End--> ");
              sql.append( "                             </tbody> ");  
              String   temp=sql.toString();
              temp=temp.replaceAll( " <!--Begin_LanguageAndMoney_End--> ",sql.toString());        
              System.out.println(temp);


为什么替换不成功啊??有没有解决办法???

------解决方案--------------------
理论上代码没有问题,你把sql.toString() 换成一个常量看看,测试一下
------解决方案--------------------
StringBuffer sql =new StringBuffer();
sql.append( " <tbody> ");
sql.append( " <!--Begin_LanguageAndMoney_End--> ");
sql.append( " </tbody> ");
String temp=sql.toString();
temp=temp.replaceAll( " <!--Begin_LanguageAndMoney_End--> ", " ");
System.out.println(temp);
------解决方案--------------------
"- "在正则表达式里面是特殊字符,应该是:
temp=temp.replaceAll( " <!\\-\\-Begin_LanguageAndMoney_End\\-\\-> ", " ");

试试?