<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.util.regex.Matcher"%>
<%@ page import="java.util.regex.Pattern"%>
<%
String url = "/xp/admin.do;session=234234?p=init";
Pattern p = Pattern.compile("xp");
Matcher m = p.matcher(url);
if(m.find()){
  m.replaceAll("#");
}
out.println("<br>"+url);
%>
以上是小弟的代码~想把url中的xp替换成#,为什么替换不了?请大大不吝指教

解决方案 »

  1.   

    if(m.find()){
    url = m.replaceAll("#");
    }
      

  2.   

    <%@ page contentType="text/html;charset=utf-8"%>
    <%@ page import="java.util.regex.Matcher"%>
    <%@ page import="java.util.regex.Pattern"%>
    <%
    String url = "/xp/admin.do;session=234234?p=init";
    Pattern p = Pattern.compile("xp");
    Matcher m = p.matcher(url);
    if(m.find()){
    m.replaceAll("#");
    }
    out.println("<br>"+url);
    %>改为:
    <%@ page contentType="text/html;charset=utf-8"%>
    <%@ page import="java.util.regex.Matcher"%>
    <%@ page import="java.util.regex.Pattern"%>
    <%
    String url = "/xp/admin.do;session=234234?p=init";
    Pattern p = Pattern.compile("xp");
    Matcher m = p.matcher(url);
    if(m.find()){
    url=m.replaceAll("#");
    }
    out.println("<br>"+url);
    %>
      

  3.   

    而且你没有必要加if判断,所以可以改为:
    <%@ page contentType="text/html;charset=utf-8"%>
    <%@ page import="java.util.regex.Matcher"%>
    <%@ page import="java.util.regex.Pattern"%>
    <%
    String url = "/xp/admin.do;session=234234?p=init";
    Pattern p = Pattern.compile("xp");
    Matcher m = p.matcher(url);
    url=m.replaceAll("#");
    out.println("<br>"+url);
    %>
    另外还可以用String的replaceAll方法代替,效果是一样的,如下:
    <%@ page contentType="text/html;charset=utf-8"%>
    <%@ page import="java.util.regex.Matcher"%>
    <%@ page import="java.util.regex.Pattern"%>
    <%
    String url = "/xp/admin.do;session=234234?p=init";
    url=url.replaceAll("xp","#");
    out.println("<br>"+url);
    %>