如何将String s="abcjavaabcabcjavaabcabcabcjava";
经过转换之后得到
String result="abcjavaabcjavaabcjava";
意思就是将两个以上的abc替换成一个abc

解决方案 »

  1.   

    String s="abcjavaabcabcjavaabcabcabcjava";
    可以把它放到一个数组里面,利用循环嵌套,判断两个以上的abc,将多余的abc赋为空值,在输出时,判断是否为空,不为空的就输出,只提供思想,程序你自己写写吧,呵呵,若想保留原有的字符串,重新定义数组,输出。
      

  2.   

    String s="abcjavaabcabcjavaabcabcabcjava";
    Pattern p = Pattern.compile("(abc{1}){2,}");
    Matcher m = p.matcher(s);
    StringBuffer sb = new StringBuffer();
    while(m.find()){
    m.appendReplacement(sb, "abc");
    }
    m.appendTail(sb);
    System.out.println(sb.toString());