String str = "<br/><br/><br/> aafsdf\n" +
                "fasdfsdf\n" +
                "<br/>"; 要求删除str字串前后的br和空格,其余的不做处理, 前后的br可能有多个,同时也可能没有.
多谢!

解决方案 »

  1.   

    当中的 <br/> 前后有空格需要去掉么?
      

  2.   

    需要,就是首尾连续的 <br/>都删除掉,可能连续3个,就删3个,可能1个没有,同时也删除空格,
    就是首尾都是内容,不可能出现<br/>和空格
    字串中间不处理.        String str = "<br/><br/><br/> aafsdf\n" + 
                    "fasdfsdf\n" + 
                    " <br/>"; 
      

  3.   

    没看明白。你写个String的例子说明下那几个不删除,那几个删除。
      

  4.   

    String str = " <br/> <br/> <br/> aafsdf\n" +
                 "fasdfsdf\n" +
                 " <br/>";以该字符串为例,后面的 <br/> 把前面的空格和多余的换行符也去掉了,你看看行么?public class Test2 {    public static void main(String[] args) {        
            String str = " <br/> <br/> <br/> aafsdf\n" +
                "fas <br/> dfsdf\n" +
                " <br/>";
            String regex = "(?i)\\A(?:\\s*<br\\s*/>)+\\s*|(?:\\s*<br\\s*/>)+\\s*\\Z";
            str = str.replaceAll(regex, "");
            System.out.println(str);
        }
    }如果需要保留换行符的话,把 regex 改为:
    String regex = "(?i)\\A(?: *<br\\s*/>)+ *|(?: *<br\\s*/>)+ *\\Z";如果 <br/> 只有这种情况的话,不存在 <BR/>, <br />, <br  />, <br> 等情况的话,上面表达式中
    所有的 <br\\s*/> 可以改为 <br/>。