首页 > 代码库 > 正则表达式--——组叠词
正则表达式--——组叠词
需求
将下列字符串转成:我要学编程:
我我...我我...我要..要要...要要...学学学..学学...编编编编....编程..程....程程程程..程.
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
正则表达式--——组叠词
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。