Java中使用HttpURLConnection和org.json获取响应时如何移除HTML标签
移除响应内容中HTML标签的两种实现方案
方案1:正则表达式实现(无额外依赖)
适用于仅存在<sup></sup>这类简单无嵌套HTML标签的场景:
- 新增工具方法:
public static String removeHtmlTags(String rawText) { // 匹配所有< >包裹的HTML标签,全局替换为空 return rawText.replaceAll("<[^>]+>", "").trim(); }
- 在你的解析逻辑中调用即可:
String dataName= data.getString("data_name"); // 移除HTML标签 dataName = removeHtmlTags(dataName);
注意:正则方案无法处理包含复杂嵌套、标签内带<字符、HTML注释的特殊场景,仅适合简单标签清理
方案2:Jsoup库实现(稳定适配所有场景)
如果返回内容包含复杂HTML结构,推荐使用专业HTML解析库Jsoup,避免正则匹配异常:
- 首先引入Jsoup依赖(Maven示例):
<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.17.2</version> </dependency>
- 调用代码:
import org.jsoup.Jsoup; // 拿到原始内容后直接解析提取纯文本 String dataName= data.getString("data_name"); String cleanDataName = Jsoup.parse(dataName).text();
该方案会自动处理所有HTML标签、转义字符、嵌套结构,提取结果准确率更高。
内容的提问来源于stack exchange,提问作者javzuk
相关产品推荐
相关产品推荐

