使用正则表达式统计并替换字符串中的字符

前端之家收集整理的这篇文章主要介绍了使用正则表达式统计并替换字符串中的字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

以前做过一个笔试题,要求是实现一个函数,对给出的字符串进行处理并返回,要求是给出的都是大写字母,对连续的多于一个的字母使用子母和字母出现的次数替换,例如给出AAK那么返回的是A2K,下面使用正则表达式完成。

importjava.util.regex.Matcher;
importjava.util.regex.Pattern;

publicclassReplaceTest{

	publicstaticvoidmain(String[]args){
		System.out.println(test("AASDDDSSSAAJJJKKKKKKFGFJJJJTTTKDDDDBBSSSA"));
	}

	publicstaticStringtest(Stringstr){
		Stringregex="";
		for(charbase='A';base<='Z';base++){
			regex=base+"{2,}";
			Patternp=Pattern.compile(regex);
			Matcherm=p.matcher(str);
			while(m.find()){
			Stringmatche=m.group();
			str=str.replace(matche,matche.charAt(0)+""+matche.length());
			}
		}

		returnstr;
	}

}



经过测试,符合要求

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