-
Java中去除HTML代码
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
问题描述
做全文检索,取出的学习元文本中含有大量的HTML标签,使得布局相当混乱,因此要寻求一种解决办法,初步想了一下试图将文本中的HTML标签去除。
-
解决办法:正则表达式
String content= doc.get("content"); //含有HTML标签的字符串
String textStr =""; //目标字符串
java.util.regex.Pattern p_script;
java.util.regex.Matcher m_script;
java.util.regex.Pattern p_style;
java.util.regex.Matcher m_style;
java.util.regex.Pattern p_html;
java.util.regex.Matcher m_html;
java.util.regex.Pattern p_html1;
java.util.regex.Matcher m_html1;
String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>"; //定义script的正则表达式{或<script[^>]*?>[\\s\\S]*?<\\/script> }
String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>"; //定义style的正则表达式{或<style[^>]*?>[\\s\\S]*?<\\/style> }
String regEx_html = "<[^>]+>"; //定义HTML标签的正则表达式
String regEx_html1 = "<[^>]+";
p_script = Pattern.compile(regEx_script,Pattern.CASE_INSENSITIVE);
m_script = p_script.matcher(content);
content = m_script.replaceAll(""); //过滤script标签
p_style = Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE);
m_style = p_style.matcher(content);
content = m_style.replaceAll(""); //过滤style标签
p_html = Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE);
m_html = p_html.matcher(content);
content = m_html.replaceAll(""); //过滤html标签
p_html1 = Pattern.compile(regEx_html1,Pattern.CASE_INSENSITIVE);
m_html1 = p_html1.matcher(content);
content = m_html1.replaceAll(""); //过滤html标签 -
-
- 标签:
- java.util.regex.pattern
- string
- pattern.case_insensitive
- java.util.regex.matcher
- 标签
- style
- 正则表达式
- pattern.compile
- content
- script
-
学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~