本帖最后由 longfan365 于 2010-11-04 18:44:19 编辑

解决方案 »

  1.   


    String matcher = "str";
    String matchee = "str strstr12 3strstrstr\nstrstr strstrstrstrstr123123 strstrstrstrstrstrstrstrstrstrstrstr";
    System.out.println(matchee.replaceAll("\n", "").replaceAll("(str\\s?)+", "str"));
      

  2.   


    String s1 = "str";
    String s2 = "str strstr12 3strstrstr\nstrstr strstrstrstrstr123123 strstrstrstrstrstrstrstrstrstrstrstr";
    //用正则表达式替换匹配str或str后跟空白的所有子串为一个str
    s2 = s2.replaceAll("(" + s1 + "\\s*)+", s1);
    System.out.println(s2);
      

  3.   


        String s1 = "str";
        String s2 = "str strstr12 3strstrstr\nstrstr strstrstrstrstr123123 strstrstrstrstrstrstrstrstrstrstrstr";
        //用正则表达式替换匹配str或str后跟空白的所有子串为一个str
        s2 = s2.replaceAll("(" + s1 + "\\s*)+", s1);
        System.out.println(s2);