一、背景
业务开发中可能需要将html的标签全部去掉,本文将多种方法综合在这里,供大家参考。
二、方法
2.1 纯正则方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import java.util.regex.Matcher; import java.util.regex.Pattern; public class HTMLSpirit{
public static String delHTMLTag(String htmlStr){
String regEx_script= "<script[^>]*?>[\\s\\S]*?<\\/script>" ; //定义script的正则表达式 String regEx_style= "<style[^>]*?>[\\s\\S]*?<\\/style>" ; //定义style的正则表达式 String regEx_html= "<[^>]+>" ; //定义HTML标签的正则表达式 Pattern p_script=Pattern.compile(regEx_script,Pattern.CASE_INSENSITIVE); Matcher m_script=p_script.matcher(htmlStr); htmlStr=m_script.replaceAll( "" ); //过滤script标签 Pattern p_style=Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE); Matcher m_style=p_style.matcher(htmlStr); htmlStr=m_style.replaceAll( "" ); //过滤style标签 Pattern p_html=Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE); Matcher m_html=p_html.matcher(htmlStr); htmlStr=m_html.replaceAll( "" ); //过滤html标签 return htmlStr.trim(); //返回文本字符串 } </
|