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

求助:正则表达式移除HTML标签并在相邻div间添加空格

解决方案

可以分两步处理:先给相邻的</div>和<div>之间插入空格,再移除所有HTML标签,就能同时满足你的需求。

具体实现

  1. 先处理相邻div标签的拼接
    用正则匹配连续的</div><div>,替换为带空格的</div> <div>:

    const htmlStr = 'This <b>is</b> <div>a</div><div>test</div>';
    // 第一步:给相邻的闭合div和开启div之间加空格
    const withSpace = htmlStr.replace(/<\/div><div>/g, '</div> <div>');
    
  2. 移除所有HTML标签
    用简化后的正则移除所有标签(和你原逻辑一致,去掉了不必要的分组):

    // 第二步:清除所有HTML标签
    const result = withSpace.replace(/<[^>]+>/gi, '');
    console.log(result); // 输出:This is a test
    

简化链式写法

如果想合并成一行代码:

const result = htmlStr.replace(/<\/div><div>/g, '</div> <div>').replace(/<[^>]+>/gi, '');

逻辑说明

  • 必须先处理相邻div:如果直接先移除标签,</div><div>会直接被清空,两个div的内容会直接连在一起,无法插入空格。提前插入空格后,移除标签时空格会被保留。
  • 正则里的g修饰符确保匹配所有连续出现的</div><div>,不会只处理第一处。

内容的提问来源于stack exchange,提问作者Aaron.Bidwell

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:34:58