首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 移除字串中 HTML 標籤的實用方法

     編輯:Java 相關知識

前言

在 Java 開發中,經常需要從字串中移除 HTML 標籤以獲取純文本內容。雖然可以使用第三方庫(如 Jsoup),但若不想引入額外依賴,利用正則表達式實現一個輕量級的工具方法是常見選擇。本文介紹一個經典的 stripHtml 方法,並說明其核心邏輯與注意事項。

核心代碼實現

/**
 * 移除字串中的 HTML 代碼。
 * 注意:要求數據格式規範,如尖括號成對出現,否則可能誤刪內容。
 *
 * @param content 原始內容
 * @return 移除標籤後的純文本
 */
public static String stripHtml(String content) {
    // 1. 將 <p> 段落標籤替換為換行符
    content = content.replaceAll("<p .*?>", "\r\n");
    // 2. 將 <br>、<br/> 替換為換行符
    content = content.replaceAll("<br\\s*/?>", "\r\n");
    // 3. 移除所有剩餘的 <...> 標籤內容
    content = content.replaceAll("\\<.*?>", "");
    // 4. (可選) 還原 HTML 實體字符,如 &lt; -> <
    // content = HTMLDecoder.decode(content);
    return content;
}

關鍵邏輯解析

  • 分步處理:先處理段落和換行標籤,保留文本結構;再統一清理其他標籤。
  • 非貪婪匹配:使用 .*? 確保匹配最短的標籤範圍,避免跨標籤誤刪。
  • 轉義字符:正則中 < 需轉義為 \\<(Java 字串中雙重轉義)。

使用場景與限制

此方法適用於結構良好的 HTML 片段(如富文本編輯器輸出)。但對於嵌套複雜、屬性包含 > 符號、或包含腳本/樣式標籤的完整網頁,純正則方案可能失效。生產環境建議考慮成熟的 HTML 解析器。

總結

通過幾行正則替換即可實現基本的 HTML 去標籤需求,無需額外依賴。理解其原理有助於在簡單場景下快速解決問題,同時也清楚其邊界以免濫用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved