我有一个像这样的字符串:
var My_string = "<div id='some_id_1'>Some Div Text 1</div><div id='some_id_2'>Some Div Text 2</div><div id='some_id_3'>Some Div Text 3</div><div id='some_id_4'>Some Div Text 4</div>";
我想搜索 string 并将找到的每个完整 div 添加到数组中。
所以我想在字符串中搜索:
"<div"
然后:
"</div>"
并抓取中间的文本:
var My_Div_Value = "<div id='some_id_1'>Some Div Text 1</div>";
并将每个插入一个数组:
My_Divs_Array.push(My_Div_Value);
所以 My_Divs_Array 将有:
["<div id='some_id_1'>Some Div Text 1</div>", "<div id='some_id_2'>Some Div Text 2</div>", "<div id='some_id_3'>Some Div Text 3</div>", "<div id='some_id_4'>Some Div Text 4</div>"]
我只是不确定解决此问题的最佳方法。 我想象使用“IndexOf()”或者我不确定。 我只想问专业人士,实现这一目标的最佳方法是什么。
根据最初的回复 - 我不确定我的帖子是否被理解。 我本可以轻松使用字符串示例:
var My_string = "<foo>everything in between</bar><foo>everything in between</bar><foo>everything in between</bar><foo>everything in between</bar>";
我需要 "<foo>"
的每个实例+ "everything in between"
+ "</bar>"
单独收集为 "<foo>everything in between</bar>"
并存储到一个数组中:
["<foo>everything in between</bar>", "<foo>everything in between</bar>", "<foo>everything in between</bar>", "<foo>everything in between</bar>"]
感谢您的帮助。 问候, 肯
最佳答案
改用 DOM。
var My_string = "<div id='some_id_1'>Some Div Text 1</div><div id='some_id_2'>Some Div Text 2</div><div id='some_id_3'>Some Div Text 3</div><div id='some_id_4'>Some Div Text 4</div>";
var wrapper = document.createElement('div');
wrapper.innerHTML = My_string;
console.log(wrapper.getElementsByTagName('div')); // get all the div
console.log(wrapper.getElementById('some_id_1')); // if you know the id
或者使用 jQuery。
$(My_string)
关于Javascript - 如何从所有开始和结束字符串匹配实例中创建一个数组 - 在字符串中找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12720054/