正則表示式練習:對IP地址進行排序
阿新 • • 發佈:2018-12-06
import java.util.TreeSet; public class RegexTest { public static void main(String[] args) { Method2();//2.對IP進行排序 } //2.對IP進行排序 private static void Method2() { String str="192.168.10.34 127.0.0.1 3.3.3.3 105.70.11.55"; str=str.replaceAll("(\\d+)","00$1");//一串數字為一組,將每組中的每一段均加兩個0 //然後每一段保留數字的後三位 str=str.replaceAll("0*(\\d{3})", "$1");//*表示出現0次或多次,{3}表示出現3次 //1.將ip地址切出來 String[] ips=str.split(" +"); //使用treeset進行排序 TreeSet<String> ts=new TreeSet<String>(); for(String ip:ips){ //System.out.println(ip); ts.add(ip);//treeset對字串一位一位的進行比較,但是對於ip分為了四段,我們想要的是一段一段的比較,所以我們將每段都補齊為三位 } for(String ip:ts){ System.out.println(ip); } } }
執行結果: