大家好,我是老坛。

相信大家都做过富文本的解析吧,无论是html还是xml都有各种纷繁复杂的标签,在解析的时候也是极为头疼。

1. 代码展示

最近题主写了一个非常好用的工具方法,大家可以直接拷走,用于自己的业务场景。

这里先粘出代码:

/*** 根据前后标签获取target在source中的文本片段* @param source 原文本* @param target 要找的核心词* @param preTag 前标签* @param postTag 后标签* @return*/
public static List<String> getMiddleTextFromTags(String source, String target, String preTag, String postTag) {List<String> resultList = new ArrayList<>();Pattern pattern = Pattern.compile(String.format("([^%s]*%s[^%s]*)", preTag, target, postTag));Matcher matcher = pattern.matcher(source);while(matcher.find()) {String result = matcher.group(1);resultList.add(result);}return resultList;
}

大家可以直接拷贝到自己的工具类里面使用,下面我来介绍一下使用方法。

更多小工具请关注同名公众号:老坛聊开发

回复:"小轮子01" 即可获取!

2. 使用方法

该方法主要解决的是你在一段文本中截取某一段以特定符号开始并以特定符号结束并且又包含某个子串的字符串。这种场景最常见的就是我们截取html标签里面的内容。

光这么说大家估计很难理解,这里我来举个例子。

比如,对于某html文本:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content=""><meta name="author" content=""><title>大家好,这里是老坛,你找到我了吗?</title><!-- Bootstrap Core CSS --><link href="sbadmin2-1.0.7/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
</html>

假如我们想要在这段html文本中找到包含"老坛"的句子,但又不想带有这些html标签,那如果不用正则,可能只能疯狂split了,相信有小伙伴会有同感。但是如果用了老坛的方法,就非常简单了。

简单来说,这里实际上我们是要截取包含"老坛",但又在标签的尖括号外的字符串,所以可以理解为是以">"作为左边界,"<"作为右边界的字符串。那我们可以这样去调用方法:

List<String> resultList = getMiddleTextFromTags(source, "老坛", ">", "<") 

如此,我们便可以得到我们想要的结果:

大家好,这里是老坛,你找到我了吗?

这里的返回结果是个list,如果有多处符合,那都会在list中。

3. 退化调用

当然我们也有只想截取以某个符号开头或结尾,但无所谓内容的场景。比如我们只想要截取title标签里面的字符串,但是里面不需要包含任何子串。

那这样的场景下我们可以这样去调用:

List<String> resultList = getMiddleTextFromTags(source, "", ">", "<") 

只要将target传成空串就可以了,也可以得到结果:

大家好,这里是老坛,你找到我了吗?

是不是十分方便?

结论

这次老坛给大家介绍了一个比较方便的截取文本的小工具,希望可以给大家带来帮助!

【小轮子】几行正则帮你轻松截取富文本相关推荐

  1. 【微信小程序】无法解析京东商城商品详情富文本数据

    小程序的rich-text富文本标签不支持link标签,这就导致我们从京东商城拿到的商品详情富文本无法解析. rich-text组件用法 小程序商城对接京东商城商品,拿到的京东商品详情的富文本数据格式 ...

  2. 在微信小程序中,使用wxParse插件解析HTML/md富文本

    1. 在微信小程序中,使用wxParse插件解析HTML富文本 下载文件 GitHub地址:https://github.com/icindy/wxParse 解压文件,在解压后的文件夹里找到wxPa ...

  3. 微信小程序原生开发功能合集六:富文本组件的封装

      本章实现小程序富文本编辑组件的实现,使用editor组件实现富文本输入,引入iconfont实现操作按钮的图标,实现富文本的扩展开发.   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础 ...

  4. html设置字号行高,【HTML】自定义富文本设置行高

    问题:由于设置行高没有类似设置字体或字体大小那样,比如设置字体样式 document.execCommand('styleWithCSS', false, true) document.execCom ...

  5. php正则截取富文本编辑器中路径字符串_php使用正则表达式获取字符串中的URL

    今天写一个问答系统上线之后发现有很多人发链接了,由于业务部门要我们过滤掉网站地址了,下面我给大家分享一个提取字符串url地址函数,代码如下: $str ='本文实例讲述了php匹配字符串里所有URL地 ...

  6. 轻松实现富文本编辑器

    Demo: https://ma125120.github.io/ma-dom/test/exec.html(仅提供参考,实现了富文本编辑器的基础功能,如有完善需要,可自行拓展或者在下方评论,提出您珍 ...

  7. ppt倒计时3分钟_这些出神入化的PPT小技巧,帮你轻松告别丑PPT!花3分钟看一看吧...

    现在有很多小伙伴都会和PPT打交道,不过在PPT中还是有很多操作将很多人拦住了,做出来的PPT也是有点惨不忍睹了. 别担心,今天小编将分享几个非常实用的PPT小技巧给大家,帮大家轻松做出好看的PPT~ ...

  8. 【愚公系列】2022年03月 微信小程序-富文本编辑器

    文章目录 前言 一.富文本编辑器的使用 1.富文本编辑器属性 2.富文本编辑器使用 3.实际效果 前言 富文本编辑器,可以对图片.文字进行编辑. 编辑器导出内容支持带标签的 html和纯文本的 tex ...

  9. 微信小程序富文本rich-text使用详解-微信小程序系统学习攻略​

    也许你迷茫,但是我想说,在你迷茫的同时,保持本心,过好今天就好. 在微信小程序开发中,rich-text 标签可以用来显示富文本 html内容,可以渲染部分html标签,全局支持class和style ...

最新文章

  1. android studio 各种问题
  2. C++虚继承(三) --- C++ 对象的内存布局(下)(陈皓)
  3. C语言条件判断 if / else - C语言零基础入门教程
  4. JavaEE实战班第十五天
  5. python的matplotlib库polar_【Python】matplotlib库
  6. oracle 查询dbid,查看oracle 数据库的DBID
  7. OwinStartup不触发
  8. Vivado入门创建工程之----自定义ip及其使用
  9. imageview 自定义 android,Android自定义ImageView实现在图片上添加图层效果
  10. 群集之 COROSYNC OPENAIS +PACEMAKER +REBD+WEB
  11. Keras中的时间分布层TimeDistributed Layer使用教程
  12. java乱码中文变为问号_转 java 中文 乱码 问号
  13. matlab newton插值法,Matlab程序Newton插值函数
  14. Qt进行CSV文件操作
  15. prcs6汉化补丁怎么替换_最新 | EndNote X9.2授权版+汉化
  16. linux centOS6.5防火墙
  17. RabbitMq安装(Erlang前置安装)
  18. np.c_ 对比 np.r_
  19. C语言全网最详细的分支和循环语句讲解
  20. android 背影模糊,Android透明背景的高斯模糊一点记录

热门文章

  1. 华为od统一考试B卷【敏感字段加密】JavaScript 实现
  2. 微信小程序云开发实战:网上商城(一)
  3. 很困。。。我要转。业。
  4. 软件测试自动化测试工具课件,《软件测试自动化》PPT课件.ppt
  5. 泛圈科技:YottaChain数据存储的最佳选择
  6. Python 竟能绘制出如此酷炫的三维图
  7. 【Linux 中国】12 款简单好用的保护隐私的软件
  8. CocoaPods安装最新版
  9. 易基因:全基因组DNA甲基化和小RNA分析揭示甘蓝型油菜种子的基因组不对称性 | 植物发育
  10. 【Paypal】网站付款标准版