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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈延真 中级黑马   /  2013-6-11 19:04  /  2086 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈延真 于 2013-6-13 22:09 编辑

/*
* 我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程
* 利用正则表达式将字符串还原成:
*   "我要学编程"。
*/
public class RegexTest {
public static void main(String[] args) {
  
  String str = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
  String regex1 = "\\.+";
  String[] strArray = str.split(regex1);
  for(String s1 :strArray){
   System.out.println(s1);
  }
  String str2 = str.toString();
  
     String regex2 = "(.)\\1+";
  String s = str2.replaceAll(regex2, "$1");
  System.out.println(s);
  
}
}

评分

参与人数 1技术分 +1 收起 理由
黑马伍哲沂 + 1 神马都是浮云

查看全部评分

4 个回复

正序浏览
孙百鑫 发表于 2013-6-13 06:19
楼主您好!如果问题得到解决请将题目改成"已解决"
编辑文章-->修改 如果问题没有得到解决请继续发问谢谢您的 ...

版主,求技术分!:lol
回复 使用道具 举报
楼主您好!如果问题得到解决请将题目改成"已解决"
编辑文章-->修改 如果问题没有得到解决请继续发问谢谢您的配合{:soso_e100:}
回复 使用道具 举报
本帖最后由 Heart 于 2013-6-12 17:19 编辑

你的正则表达式写的不对,首先:.就没有转义;而且 str2.replaceAll(regex2, "$1");方法也不对,第二个参数应该是:使用给定的字符串替换匹配给定的正则表达式的子字符,所以这里应该为 ""字符串。
修改后代码如下:
  1. public static void main(String[] args) {
  2.   // TODO Auto-generated method stub  
  3.    String str = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
  4.    String regex1 = "\\.+";
  5.    String[] strArray = str.split(regex1);
  6.    for(String s1 :strArray){
  7.       System.out.println(s1);
  8.    }
  9.    String str2 = str.toString();
  10.    
  11.    String regex2 = "(\\.)+";
  12.    String s = str2.replaceAll(regex2, "");
  13.    System.out.println(s);
  14. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黑马伍哲沂 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
/*
* 我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程
* 利用正则表达式将字符串还原成:
*   "我要学编程"。
*/
public class RegexTest {
public static void main(String[] args) {
   
   String str = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
   String regex1 = "\\.+";//改成String regex1="\\."就可以了。
   String[] strArray = str.split(regex1);
   for(String s1 :strArray){
    System.out.println(s1);
   }
   String str2 = str.toString();
   
      String regex2 = "(.)\\1+";
   String s = str2.replaceAll(regex2, "$1");
   System.out.println(s);
   
}
}

评分

参与人数 1技术分 +1 收起 理由
黑马伍哲沂 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马