javascript - 我有要切片的字符串,并希望得到其余的字符串
问题描述
我正在使用反应我也有看起来像这样的字符串
<h2>h2 one</h2> <p>Tristique senectus et netus et malesuada
<h2>h2 two</h2> fames ac turpis. Ridiculus mus mauris
vitae ultricies leo integer malesuada nunc vel.
所以你可以看到h2标签也p标签
我只想得到h2标签
,即h2一,h2二,两个sting
我尝试使用 indexOf 进行拼接
const res = markDownString?.indexOf('h2');
const res1 = markDownString?.indexOf('</h2');
const newMarkDownString = markDownString?.slice(1078, 1093); // which is first h2 tag position
console.log(newMarkDownString)
这种方式只能获得第一个 h2 标签我怎样才能获得字符串中的所有 h2 标签?
解决方案
您可以match
在此处使用正则表达式选项:
var input = "<h2>h2 one</h2> <p>Tristique senectus et netus et malesuada \n<h2>h2 two</h2> fames ac turpis. Ridiculus mus mauris \nvitae ultricies leo integer malesuada nunc vel.";
var tags = input.match(/(?<=<h2>)(.*?)(?=<\/h2>)/g);
console.log(tags);
但请注意,通常不应依赖正则表达式来解析 HTML 内容。相反,使用解析方法。
推荐阅读
- reactjs - react js中如何知道组件渲染情况
- puppeteer - PupeeteerSharp 在 ServiceFabric 无状态服务中不起作用
- c# - 在基于角色的服务器端 Blazor 应用程序授权不起作用
- reactjs - TypeError: undefined is not a function when unit-testing custom redux hook
- laravel - 加载选项时选择 2 Wrapped 组件重复
- c# - 使用 jQuery 将参数从 MVC 视图传递到操作
- c# - 如何使用当前 DataGridTextColumn 添加工具提示?WPF
- javascript - 我的 catch 块(异步)似乎是随机调用的
- mathematical-optimization - 是否可以在解决问题后保留信息并重复使用相同的信息来解决相同的问题但使用不同的设置?
- java - 检查两个数字之间随机生成的数字。斐波那契与否?