需求:给定一组IP地址,对IP地址按照A、B、C类进行排序
说明:给定的IP地址是一个字符串。给定的IP地址如下:
String ip_str = "23,12,10.5 192.168.100.223 3.3.3.3 10.10.10.10";
package mypack;
import java.util.Arrays;
public class RegexDemo {
public static void main(String[] args) {
RegexTest1();
}
public static void RegexTest1() {
//对给定的ip地址排序
String ip_str = "23,12,10.5 192.168.100.223 3.3.3.3 10.10.10.10";
//首先对每个IP地址的每一段都在最高位补两个零
ip_str = ip_str.replaceAll("(\\d+)", "00$1");
System.out.println(ip_str); //0023,0012,0010.005 00192.00168.00100.00223 003.003.003.003 0010.0010.0010.0010
//把每个IP地址的每一段都格式为统一的三位
ip_str = ip_str.replaceAll("0*(\\d{3})", "$1");
System.out.println(ip_str); //023,012,010.005 192.168.100.223 003.003.003.003 010.010.010.010
//用正则表达式" +"对字符串进行分割操作,得到一个IP地址字符串
String[] ips = ip_str.split(" +");
//对IP地址字符串进行排序
Arrays.sort(ips);
for(String ip : ips){
//输出之前,把IP地址中多余的零去掉
System.out.println(ip.replaceAll("0*(\\d+)", "$1"));
}
}
}
本文介绍了一种使用Java实现的IP地址分类与排序方法。通过正则表达式处理,将IP地址标准化并按A、B、C类进行排序。文章详细展示了如何通过字符串操作和数组排序实现这一功能。
&spm=1001.2101.3001.5002&articleId=100905553&d=1&t=3&u=607e0c553d8e4e5c9caecfd157727fe2)
1924

被折叠的 条评论
为什么被折叠?



