如何删除字符串中的标签

quansheng2580 2008-01-15 07:40:40
我通过读页面的流,然后对这个流进行处理,而流里面有标签<SPAN>内容</SPAN> 有很多 我想把这些删除掉 应该怎么办 谢谢了
...全文
167 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
那用下面的方法试看呢?

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);
}
}
healer_kx 2008-01-16
  • 打赏
  • 举报
回复
老紫竹院说的好像是不对的, DOT在正则中好像是“匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。”
这个是我从JS教程中找到的。


我那个也不对,因为<span>标签内含有css等信息。

例如
<SPAN STYLE="color: blue">蓝色</SPAN>



  • 打赏
  • 举报
回复
如果<SPAN>有大写,有小写的,可以在正则表达式前面加上“(?i)”,以便于不区分大小写进行匹配。
cangyue87 2008-01-16
  • 打赏
  • 举报
回复
我来晚了,就是这样喵~~~~`
聪头 2008-01-16
  • 打赏
  • 举报
回复
replaceAll
wunan320 2008-01-16
  • 打赏
  • 举报
回复
有时候标签中可能带空格,制表符之类的,比如< span >。
可以用"<\\s*span\\s*>"来代替前面几位正则中的"<span>"。
如果没有这种情况就当我没说吧,楼上几位说的都比较好了。
changjiangzhibin 2008-01-16
  • 打赏
  • 举报
回复
study
ivanzheung 2008-01-16
  • 打赏
  • 举报
回复
up
老紫竹 2008-01-16
  • 打赏
  • 举报
回复
如果你想保留<SPAN>之间的内容,可以这样用
str.replaceAll("<SPAN>(.*?)</SPAN>","$1");
cursor_wang 2008-01-16
  • 打赏
  • 举报
回复
[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]
老紫竹 2008-01-16
  • 打赏
  • 举报
回复
str.replaceAll("<SPAN>.*?</SPAN>","");


这样替换一下就可以了!
healer_kx 2008-01-15
  • 打赏
  • 举报
回复
String text = "<html><span>\r\naaa\r\n\t</span></html>";
String result = text.replaceAll("<span>[\\n\\r\\sa-zA-Z]*</span>", "");

如遇汉字。。。再说。。。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧