微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式--――组叠词

需求

将下列字符串转成:我要学编程:

我我...我我...我要..要要...要要...学学学..学学...编编编编....编程..程....程程程程..程.

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.jb51.cc/regex/361504.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐