黑马程序员技术交流社区
标题:
使用正则表达式获取字符串中的IP地址的一个问题
[打印本页]
作者:
love~陌
时间:
2014-6-5 22:18
标题:
使用正则表达式获取字符串中的IP地址的一个问题
主要输出结果是:
10.10.10.10
187.255.255.255
192.168.1.154
196.154.1.2
198.40.5.4
2.2.2.2
问题是:如何排序
作者:
love~陌
时间:
2014-6-5 22:19
package com.itcast.regex;
import java.util.TreeSet;
public class IpRegexPractice {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ipSort("192.168.1.154 196.154.01.002 10.10.10.10 2.2.2.2 198.40.5.4 187.255.255.255");
}
public static void ipSort(String ip){
//都视为一位数字,前面先加上00
ip=ip.replaceAll("(\\d+)", "00$1");
System.out.println(ip);
//去掉数字前面多余的0
ip=ip.replaceAll("0*(\\d+{3})","$1");
System.out.println(ip);
//获取地址值
String[]arr=ip.split(" +");
TreeSet<String> ts=new TreeSet<String>();
for (String string : arr) {
ts.add(string);
}
for (String string : ts) {
System.out.println(string.replaceAll("0*(\\d+)","$1"));
}
}
}
复制代码
网速太慢,代码貌似没传上去,
作者:
love~陌
时间:
2014-6-5 22:29
话说,需要写比较器么?
作者:
梦里听传说
时间:
2014-9-11 13:11
import java.util.*;
class dz
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
String str="10.10.10.10 187.255.255.255 192.168.1.154 196.154.1.2 198.40.5.4 2.2.2.2;
xiaoyan(str);
}
public static void xiaoyan(String str)
{
str=str.replaceAll("(\\d+)","00$1");
str=str.replaceAll("0*(\\d{3})","$1");
TreeSet<String> s=new TreeSet<String>();
String[] k=str.split(" +");
for(String name:k)
{
s.add(name);
}
for(String name:s)
{
sop(name.replaceAll("0*(\\d+)","$1"));
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2