2011-06-21 90 views
2

我有一个字符串,如下所示:删除div标签从字符串

This is a sample <b>String</b> I want to <div style="font-size:22px"> replace it fast </div> 

如何删除<div>开始从一气呵成在Java中上面的字符串</div>结束标记?

+0

是否要删除'

' and the '
'?或所有的HTML标签?请问''div style =“font-size:22px”>总是会应用相同的样式? – spot35

+0

重复http://stackoverflow.com/questions/240546/removing-html-from-a-java-string? – nfechner

+0

@nfechner我同意,你可以在那里找到合适的答案 – Chris

回答

14

你可以这样做:

String s = "This is a sample <b>String</b> I want to <div style=\"font-size:22px\"> replace it fast </div>"; 
s = s.replaceAll("[<](/)?div[^>]*[>]", ""); 

这将导致:

This is a sample <b>String</b> I want to replace it fast 
2

尝试以下操作:

myString.replaceAll("<div .*>(.*)</div>","$1"); 

BTW:有一个Java的在线正则表达式测试仪:

http://www.regexplanet.com/simple/index.html

(如果你不知道它)

希望帮助

+0

如果你有多个'div'标签,这将不起作用。 – wjans

2

你想要哪个?

String s = "This is a sample <b>String</b> I want to <div style=\"font-size:22px\"> replace it fast </div>"; 

// if you want to remove only div tag. 
System.out.println(s.replaceAll("</?div[^>]*?>", "")); 
// if you want to remove tag include text. 
System.out.println(s.replaceAll("<div[^>]*?>.*?</div[^>]*?>", "")); 
// language: java