html标签字符串中提取出来中文

业务场景:

类似在系统发布任务时,页面使用如下图的组件时,新增的内容就是待html标签的文本,大概内容如下,如果在公告列表只需要展示这个内容的一部分,在详情中展示带html的内容,就会展示出待html标签,对于客户不太好理解,所以需要去掉html展示。

<p class="ql-align-center"><strong>中秋放假</strong></p><p>一年一度春节将至,为了便于公司同仁提前安排好工作和出行行程,先根据2024国家法定节假日和公司福利政策,将“春节”期间放假安排通知如下:</p><p>一、放假时间</p><p>&nbsp;&nbsp;28日—29日,公司员工福利带薪休假日</p><p>&nbsp;&nbsp;210-217日,法定春节假日</p><p>&nbsp;&nbsp;共计10天;</p><p>另外注意:24日(星期日)、218日(星期日)上班</p><p>二、注意事项</p><p>1.请各位同仁合理安排出行时间,提前购票。</p><p>2.在离开公司前,请务必关闭办公室窗户、电源,以确保公司财产安全。</p><p>3.请各部门提前安排好工作,确保28-217日放假期间工作无缝对接。有任务未决项目,请项目负责人提前与客户沟通好假期期间的安排,确保客户需求得到满足。同时,请在假期期间保持手机畅通,以便及时处理紧急事宜。</p><p>4.如遇紧急情况,及时与相关部门负责人联系。</p><p>三、祝福</p><p>在此,衷心祝愿大家度过一个愉快的假期!新年快乐,阖家幸福!</p><p>特此通知。</p><p class="ql-align-right">人力资源部</p><p class="ql-align-right">20241018</p>

在这里插入图片描述

功能实现

引入依赖

<!--html标签提取中文字符-->
<dependency>
	<groupId>org.jsoup</groupId>
	<artifactId>jsoup</artifactId>
	<version>1.13.1</version>
</dependency>

提取工具

package com.joolun.cloud.common.core.util;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName : HtmlGetChineseUtils
 * @Description : html标签获取中文
 * @Author : DreamXu
 * @Date: 2024-08-29 09:07
 */
public class HtmlGetChineseUtils {

	/**
	 * 提取html中的中文字符
	 *
	 * @param html
	 * @return
	 */
	public static String getAllText(String html) {
		Document doc = Jsoup.parse(html);
		String text = doc.text();
		System.out.println("提取的中文字符: " + text);
		return text;
	}

	/**
	 * 提取html中特定标签内的文本数组
	 */
	public static List<String> getTextListByTag(String html, String tag) {
		Document doc = Jsoup.parse(html);
		Elements elements = doc.select("p");
		List<String> list = new ArrayList<>();
		for (Element element : elements) {
			list.add(element.text());
		}
		return list;
	}

	/**
	 * 提取html中特定标签内的文本字符串
	 */
	public static String getTextStrByTag(String html, String tag) {
		Document doc = Jsoup.parse(html);
		return doc.select(tag).text();
	}


	/**
	 * 示例
	 */
	public static void test() {
		String html = "<html><head><title>示例页面</title></head>"
				+ "<body><p>这是一个<strong>HTML</strong>页面的示例文本。</p></body></html>";
		String allText = getAllText(html);
		List<String> pArr = getTextListByTag(html, "p");
		String pStr = getTextStrByTag(html, "p");
		System.out.println("提取的中文字符: " + allText);
		System.out.println("p标签内的文本数组: " + pArr);
		System.out.println("p标签内的文本字符串: " + pStr);
	}


}
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XuDream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值