需求
将下列字符串转成:我要学编程:
我我...我我...我要..要要...要要...学学学..学学...编编编编....编程..程....程程程程..程.
1,将所有.去掉 s.replace("\.",""); 或者 s.replaceAll("\\.+","");
importjava.lang.*; importjava.util.*; classregText { publicstaticvoidmain(String[]args) { text(); IPSort(); } publicstaticvoidtext() { Strings="我我...我我...我要..要要...要要...学学学..学学...编编编编....编程..程....程程程程..程."; //s=s.replaceAll("\\.+","");//去掉字符可用空字符串替换 s=s.replace(".",""); System.out.println("["+s+"]"); } /* 需求 将IP地址进行地址段顺序的排序 192.168.1.254102.49.23.10310.10.10.52.2.2.2127.0.0.1 按字符串自然顺序排序,只要让它们每一段都是3位即可 1,按照每一段需要的最多的0进行补齐,那么每一段就会至少保证有3位 2,将每一段只保留3位这样所有的IP地址都是每一段3位 3,将排序好的IP地址输出补的0去掉 */ publicstaticvoidIPSort() { StringIPs="192.168.1.254102.49.23.10310.10.10.52.2.2.2127.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(Strings:IP) { System.out.println(s); } System.out.println("=============="); /* //对IP进行自然排序Arrays.sort()方法 Arrays.sort(IP); for(Strings:IP) { //把字段前面的0去掉 s=s.replaceAll("0*(\\d+)","$1");//去掉前面的0保留后面的0 System.out.println(s); } */ TreeSet<String>ts=newTreeSet<String>(); for(Strings:IP) { //将IP添加到集合 会自动排序 ts.add(s); } for(Strings:ts) { //把字段前面的0去掉 s=s.replaceAll("0*(\\d+)","$1"); System.out.println(s); } } }原文链接:https://www.f2er.com/regex/361504.html