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

前端之家收集整理的这篇文章主要介绍了正则表达式--――组叠词前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

需求

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

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

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

猜你在找的正则表达式相关文章