我通过读页面的流,然后对这个流进行处理,而流里面有标签<SPAN>内容</SPAN> 有很多 我想把这些删除掉 应该怎么办 谢谢了 

解决方案 »

  1.   

    String text = "<html><span>\r\naaa\r\n\t</span></html>";
    String result = text.replaceAll("<span>[\\n\\r\\sa-zA-Z]*</span>", "");如遇汉字再说
      

  2.   

    str.replaceAll("<SPAN>.*?</SPAN>","");这样替换一下就可以了!
      

  3.   

    [code=Java]public class replaceAlTest {
     public static void main(String[] args){
     String s="<SPAN> 内容 </SPAN>";
     String str=s.replaceAll("<SPAN>","");
     System.out.println(str.replaceAll("</SPAN>", ""));
     }}[/code]
      

  4.   

    如果你想保留<SPAN>之间的内容,可以这样用
    str.replaceAll("<SPAN>(.*?)</SPAN>","$1");
      

  5.   

    有时候标签中可能带空格,制表符之类的,比如< span >。
    可以用"<\\s*span\\s*>"来代替前面几位正则中的"<span>"。
    如果没有这种情况就当我没说吧,楼上几位说的都比较好了。
      

  6.   

    如果<SPAN>有大写,有小写的,可以在正则表达式前面加上“(?i)”,以便于不区分大小写进行匹配。
      

  7.   

    老紫竹院说的好像是不对的, DOT在正则中好像是“匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。”
    这个是我从JS教程中找到的。
    我那个也不对,因为<span>标签内含有css等信息。例如
    <SPAN STYLE="color: blue">蓝色</SPAN>
      

  8.   

    那用下面的方法试看呢?public class Test {    public static void main(String[] args) {
            String str = "123<sPan style=\"color: bule\">abc</Span><span \r\n" +
                    "style=\"color: bule\">\r\n" +
                    "abc</Span>456< sPan style=\"color: \n" +
                    "bule\">abc< /Span >789<SPAN>kkk</SPAN>0123";        str = str.replaceAll("(?i)(?s)<\\s*?span.*?>.*?<\\s*?/span\\s*?>", "");
            System.out.println(str);
        }
    }