A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hrfhwy 中级黑马   /  2015-12-8 20:37  /  549 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//将ip地址进行自然顺序的排序
//ip=ip.replaceAll("0*(\\d{3})","$1");理解不了,为什么是0*,而不是0+
//System.out.println(addr.replaceAll("0*(\\d+)","$1"));//这个也不理解
String ip="192.168.1.254  102.49.67.9   10.10.10.10  2.2.2.2   8.109.90.30";
                ip=ip.replaceAll("(\\d+)","00$1");
                System.out.println(ip);
                ip=ip.replaceAll("0*(\\d{3})","$1");
                System.out.println(ip);
                String[] addrs=ip.split(" +");
                Arrays.sort(addrs);
                for (String addr:addrs )
                {
                        System.out.println(addr.replaceAll("0*(\\d+)","$1"));
                }

3 个回复

倒序浏览
  1. package exp;

  2. import java.util.Arrays;

  3. public class SortIp {

  4.         public static void main(String[] args) {
  5.                
  6.                 String ip="192.168.1.254  102.49.67.9   10.10.10.10  2.2.2.2   8.109.90.30";
  7.                 SortIpFunc(ip);

  8.         }

  9.         private static void SortIpFunc(String ip){
  10.                 //小数点切割的时候,一定要使用转义符(双斜杠)
  11.                 String[] StrIp =  ip.replaceAll(" +", ".").split("\\.");
  12.                
  13.                 int[] NumIp = new int[StrIp.length];
  14.                
  15.                 for(int i = 0; i< StrIp.length; i++){
  16.                         NumIp[i] = Integer.valueOf(StrIp[i]);//将数字转换成整形数值
  17.                 }
  18.                
  19.                 Arrays.sort(NumIp);
  20.                
  21.                 for(int index:NumIp)
  22.                         System.out.print(index+" ");
  23.                   
  24.         }
  25.        
  26. }
复制代码
回复 使用道具 举报
还没学习呢                              
回复 使用道具 举报
+表达式至少出现1次,相当于 {1,0}
*表达式不出现或出现任意次,相当于 {0,}

评分

参与人数 1黑马币 +1 收起 理由
耀阳圣尊 + 1 正解

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马