
根据条件截取字符串
问题:
如何使用 responsetext.split('<h') 将 html 字符串中的文本按不同标题标签分割成段落,同时保留 <hr> 标签?
答案:
立即学习“前端免费学习笔记(深入)”;
要将文本分为以标题标签开始(到下一个标题标签或者文本末尾结束)的若干段,可以使用正则表达式作为 split() 方法的参数进行分割。具体代码如下:
'<h1></h1><p><hr></p><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/ai/1955" title="Giiso写作机器人"><img
src="https://img.php.cn/upload/ai_manual/001/246/273/68b6d1b886fb3506.png" alt="Giiso写作机器人" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/ai/1955" title="Giiso写作机器人">Giiso写作机器人</a>
<p>Giiso写作机器人,让写作更简单</p>
</div>
<a href="/ai/1955" title="Giiso写作机器人" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div><p></p><h2><hr></h2>'.split(/(?=<h\d)/g)拆分过程:
- /(?=<hd)/g 是一个正则表达式,它匹配以 <h 加一位数字开始的文本。
- g 标志使 regex 全局匹配,即匹配字符串中的所有满足条件的子串。
- 这意味着该正则表达式将在 <h1、<h2 等标题标签之前进行匹配。
- split() 方法使用此正则表达式将字符串分割成以标题标签开始的段落。
结果:
["<h1></h1><p><hr></p><p></p>", "<h2><hr></h2>"]
这种方法可以保留 <hr> 标签,并将文本按标题标签分割成正确的段落。










