查找字符串中的东西并进行替换的模板
/** * @author 郝春挺 * @param href 带超链接的字符串 * @param rule 根据某种规则来处理超链接 * @return 返回替换后的字符串 */public static String replaceAhrefString(String hrefString,String rule ){ // String hrefString="<a href="aa.jsp?id=1">mmm</a>sfsf阿娇咖啡机啊<a href="aa.jsp?id=2">eee</a><a href="aa.jsp?id=3">ccc</a><a href="aa.jsp?id=1">mmm</a>";// String rule="(<a\\s*href=[^>]*id=(.*?)">(.*?)</a>)"; Pattern pattern = Pattern.compile("(<a\\s*href=[^>]*id=(.*?)">(.*?)</a>)");//加入规则 Matcher m = pattern.matcher(hrefString); boolean result = m.find(); while(result){ for(int i=1;i<=m.groupCount();i++){ System.out.println(m.group(i)+"=="+m.groupCount()); } String s=m.group(3)+"("+m.group(2)+")"; hrefString=hrefString.replace(m.group(),s); result=m.find(); } System.out.println("hrefStrings==="+hrefString); return hrefString;} public static void main(String[] args) { String hrefString="<a href="aa.jsp?id=1">mmm</a>sfsf阿娇咖啡机啊<a href="aa.jsp?id=2">eee</a><a href="aa.jsp?id=3">ccc</a><a href="aa.jsp?id=1">mmm</a>"; //(.*?)属于通配符 用于查看某处是我们需要的变量的 String rule="(<a\\s*href=[^>]*id=(.*?)">(.*?)</a>)"; String returnString= replaceAhrefString(hrefString,rule); System.out.println("returnString==="+returnString); }
?