黑马程序员技术交流社区

标题: 用正则将ip排序练习 [打印本页]

作者: 拾起落叶    时间: 2015-7-14 15:45
标题: 用正则将ip排序练习
public static void main(String[] args) {
               ipSort();
}
public static void ipSort(){
               
                String ip="192.168.1.1 127.0.0.1 2.3.3.3 108.1.2.1";
               
                //为了让ip可以按照字符串顺序在集合中能够自然排序,只要让ip的每一段的位数相同
                //所以,要对每一段都补零,每一段补两个0
                ip=ip.replaceAll("(\\d+)", "00$1");
                System.out.println(ip);
               
                //让每段都保留三位
                ip=ip.replaceAll("0*(\\d{3})", "$1");
                System.out.println(ip);
               
               
                TreeSet<String> ts=new TreeSet<String>();
                //将ip地址切出
                String[] ips=ip.split(" +");
                for (String str : ips) {
                        ts.add(str);
                }
                for (String t : ts) {
                        System.out.println(t.replaceAll("0*(\\d+)", "$1"));
                }
        }






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2