标签:正则表达式
需求
将下列字符串转成:我要学编程:
我我...我我...我要..要要...要要...学学学..学学...编编编编....编程..程....程程程程..程.
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