内容简介:
为了将网址进行分类,我们将做如下操作:比如网址的两条为,http://news.sina.com.cn/json.jsp和http://news.ifeng.com/text.jsp如何将这两条网址进行分类呢,简单来说可以先提取域名,如下news.sina.com.cn和news.ifeng.com然后如何将它们归入到sina和ifeng里面呢?如何从news,即从头开始进行ASCII值排序,则sina与ifeng两个地址news类就分在了一起,那我们如何操作呢,使用倒叙的方式从cn.com.sina.news这种方式进行排序,就避免了不同类划分一起的可能性了,则我们先进行正则表达式提取域名,然后使用StringBuffer进行反转存储,大致代码如下:
public static String reverseStr(String str) {
String patstr = "[a-z]+\\.[a-z]+\\.com(\\.cn)*";
Pattern pattern = Pattern.compile(patstr);
Matcher m = pattern.matcher(str);
if (m.find())
str = m.group(0);
StringBuffer sbo = new StringBuffer(str);
String[] strings = sbo.reverse().toString().split("\\.");
StringBuffer sb = new StringBuffer();
String restr = "";
for (int i=0;i < strings.length;i++) {
sb.append(strings[i]);
sb.reverse();
sb.append(".");
restr += sb.toString();
sb.setLength(0);
}
return restr;
}
public static void main(String[] args) {
String str = "http://news.sina.com.cn/json.jsp";
System.out.println(reverseStr(str));
}