黑马程序员技术交流社区
标题:
这个需求用正则表达式,怎么一句话搞定,请给出相应的正则表达式
[打印本页]
作者:
羽狼之翼
时间:
2015-2-6 21:19
标题:
这个需求用正则表达式,怎么一句话搞定,请给出相应的正则表达式
String str = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
要求:去掉重复汉字,及点,最终得到:“我要学编程”一句话。
作者:
Piaget
时间:
2015-2-6 22:25
汉字去重可以使用replaceAll("(.)\\1{1,}","$1")。没办法一句话写完。汉字是去重。点是删除。怎么可以同时进行。不解。。。。
public class TestZhengze
{
public static void main(String[] args)
{
String s1 = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
s1=s1.replace(".","");//去掉点
//获取重复的正则表达式,替换为“$1”\\1 的1
String ss = "(.)\\1{1,}";
s1=s1.replaceAll(ss, "$1");
System.out.println(s1);
}
}
复制代码
作者:
Piaget
时间:
2015-2-6 22:27
s1.replace(".","").replaceAll(ss, "$1"); 一句话完成只有连接起来了
作者:
mengxiang1993
时间:
2015-2-7 11:11
Piaget 发表于 2015-2-6 22:25
汉字去重可以使用replaceAll("(.)\\1{1,}","$1")。没办法一句话写完。汉字是去重。点是删除。怎么可以同时 ...
这段代码还是没理解,//1,和$1不知道什么意思?是反向引用吗?
作者:
franksight
时间:
2015-2-7 11:39
努力学习中
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2