A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

String str = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
要求:去掉重复汉字,及点,最终得到:“我要学编程”一句话。

4 个回复

倒序浏览
汉字去重可以使用replaceAll("(.)\\1{1,}","$1")。没办法一句话写完。汉字是去重。点是删除。怎么可以同时进行。不解。。。。
  1. public class TestZhengze
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String s1 = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
  6.                 s1=s1.replace(".","");//去掉点
  7.                 //获取重复的正则表达式,替换为“$1”\\1  的1
  8.                 String ss = "(.)\\1{1,}";
  9.                 s1=s1.replaceAll(ss, "$1");
  10.                 System.out.println(s1);
  11.         }
  12. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

回复 使用道具 举报
s1.replace(".","").replaceAll(ss, "$1");     一句话完成只有连接起来了
回复 使用道具 举报
Piaget 发表于 2015-2-6 22:25
汉字去重可以使用replaceAll("(.)\\1{1,}","$1")。没办法一句话写完。汉字是去重。点是删除。怎么可以同时 ...

这段代码还是没理解,//1,和$1不知道什么意思?是反向引用吗?
回复 使用道具 举报
努力学习中
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马