You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何分割包含HTML标签的字符串以获取指定格式数组

解决方案

你原有代码的问题在于正则表达式匹配规则错误,且没有设置捕获组保留匹配到的标签内容,按以下方式实现即可得到预期结果:

实现代码

const strin = 'test <br><span>test</span>  <div>aa</div>8';
const result = strin.split(/(<[^>]+>)/g)
  .filter(item => item.trim() !== '');
console.log(result);
// 输出:['test', '<br>', '<span>test</span>', '<div>aa</div>', '8']

实现说明

  • 正则/<[^>]+>/g可以全局匹配完整的HTML标签:以<开头,中间匹配任意多个非>字符,最后以>结尾
  • 给正则套上括号形成捕获组后,使用split方法分割字符串时,捕获组匹配到的标签内容会被保留在结果数组的对应位置
  • 最后调用filter方法过滤掉分割产生的空字符串、纯空白字符的冗余项,即可得到预期的输出结果

内容的提问来源于stack exchange,提问作者Asking

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 13:24:00