标签:正则表达式
需求
将下列字符串转成:我要学编程:
我我...我我...我要..要要...要要...学学学..学学...编编编编....编程..程....程程程程..程.
1,将所有.去掉 s.replace("\.",""); 或者 s.replaceAll("\\.+","");
import java.lang.*;
import java.util.*;
class regText
{
public static void main(String[] args)
{
text();
IPSort();
}
public static void text()
{
String s = "我我...我我...我要..要要...要要...学学学..学学...编编编编....编程..程....程程程程..程.";
//s = s.replaceAll("\\.+","");//去掉字符 可用空字符串替换
s= s.replace(".","");
System.out.println("["+s+"]");
}
/*
需求
将IP地址进行地址段顺序的排序
192.168.1.254 102.49.23.103 10.10.10.5 2.2.2.2 127.0.0.1
按字符串自然顺序排序,只要让它们每一段都是3位即可
1,按照每一段需要的最多的0进行补齐,那么每一段就会至少保证有3位
2,将每一段只保留3位 这样 所有的IP地址都是每一段3位
3,将排序好的IP地址输出 补的0去掉
*/
public static void IPSort()
{
String IPs = "192.168.1.254 102.49.23.103 10.10.10.5 2.2.2.2 127.0.0.1";
//IP所有段都补上3个0
IPs = IPs.replaceAll("(\\d+)","00$1");
System.out.println(IPs);
//然后 保留后面的三位
IPs = IPs.replaceAll("0*(\\d{3})","$1");
System.out.println(IPs);
//按照空格 切割
String[] IP = IPs.split(" +");
for(String s:IP)
{
System.out.println(s);
}
System.out.println("==============");
/*
//对IP进行自然排序 Arrays.sort()方法
Arrays.sort(IP);
for(String s:IP)
{
//把字段前面的0去掉
s = s.replaceAll("0*(\\d+)","$1");//去掉前面的0保留后面的0
System.out.println(s);
}
*/
TreeSet<String> ts = new TreeSet<String>();
for(String s:IP)
{
//将IP添加到集合 会自动排序
ts.add(s);
}
for(String s:ts)
{
//把字段前面的0去掉
s = s.replaceAll("0*(\\d+)","$1");
System.out.println(s);
}
}
}本文出自 “要么拼命,要么滚回去!” 博客,请务必保留此出处http://jiangzuun2014.blog.51cto.com/8732469/1440431
标签:正则表达式
原文地址:http://jiangzuun2014.blog.51cto.com/8732469/1440431