中办发〔<span lang="EN-US">2001</span>〕<span lang="EN-US">19</span>号如上一段字符串 我想用正则表达式变为:中办发〔2001〕19号
怎么做?就是把span标签去掉.

解决方案 »

  1.   

    补充一下 : 这段字符串是一篇文章的一部分,整个内容包含其他html标签,我现在只想替换这这样的span标签,凡是内容中出现类似这样的span标签就替换,其他的html中的标签不要改变。
      

  2.   

    你说的类似这样的,是指什么类似?是包括lang="EN-US"这个内容的吗?
      

  3.   

    String str="中办发〔<span lang='EN-US'>2001</span>〕<span lang='EN-US'>19</span>号";
    String  s="";
    String regex="<[^>]+>";
    Pattern pattern=Pattern.compile(regex);
    Matcher matcher=pattern.matcher(str);
    while(matcher.find()){
    s=s+str.substring(0,str.indexOf(matcher.group()));
    str=str.substring(str.indexOf(matcher.group())+matcher.group().length());
    matcher=pattern.matcher(str);
    }
    s=s+str;
    System.out.println(s);
      

  4.   

    好办呀,<span lang="EN-US">.*?</span>,获取所有这样的表达式,然后用<.*?>去掉标签就可以了。这样就能避免改变其它的span标签。