如何根据条件截取字符串?

作者站长头像
站长
· 阅读数 33
let txt = '<h1></h1><p><hr></p><p></p><h2><hr></h2>'

我有以上一段代码,想截取两个标签之间的所有文本 responseText.split('<h')<h 会将 hr 也排除出来,结果如下:

["", "1></h1><p>", "r></p><p></p>", "2>", "r></h2>"]

可我想要的结果是如下这样:

["<h1></h1><p><hr></p><p></p>", "<h2><hr></h2>"]

请问如何在 .split() 添加条件筛选呢?

回复
1个回答
avatar
test
2024-06-21

没太看明白你的需求,如果意思是“将文本分为以标题标签开始(到下一个标题标签或者文本末尾结束)的若干段”的话,可以这样写:

'<h1></h1><p><hr></p><p></p><h2><hr></h2>'.split(/(?=<h\d)/g)
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容