javascript - javascript如何拆分并存储在数组中
问题描述
您好我正在尝试在包含数字图像 src 的字符串之间拆分并将它们存储在数组中。现在我只能获得 1 个图像 src,如何循环并将所有 src 图像存储到一个数组中?
var s = contentHtml;
//splits the first src
var arrStr = s.split('<img src="').pop().split('"').shift();
var numofimg = (s.split('<img src="').length - 1);
var myarray = [numofimg];
if (numofimg != 0) {
for (int i = 0; i < numofimg; i++) {
}
}
解决方案
如果你真的想只使用字符串(即所有的 img 标签格式一致,没有额外的属性等),你可以使用正则表达式来处理它。
var contentHtml = "<html>Some junk<img src=\"abc.jpg\" />Some junk<img src=\"def.jpg\" /><p>Some junk<img src=\"9000.gif\" /></p></html>";
var results = [];
var rgx = /<img src="([^"]+)"/g;
var match;
while (match = rgx.exec(contentHtml)) {
results.push(match[1]); // match[1] contains the captured group
}
console.log(results);
如果它是一个更复杂的文档或不一致,可能有更好的方法来做到这一点。
推荐阅读
- javascript - JS:如何从中创建一个 for 循环?
- r - 按日期计算data.frame中所有点之间的距离
- c# - C#中的SQL注入
- javascript - Positioning style.left for DIV with javascript does not work
- apache-nifi - invokeHTTP 中“Put Response Body In Attribute”的属性名称
- apache-spark - 如何在 Spark Structured Streaming 中指定批处理间隔?
- system-verilog - 系统 Verilog:ref 类成员
- c# - 转换泛型类型以构建有效的 Linq 表达式
- python - kivy中的动态转换图像
- amcharts - 如何检查强制定向节点是否折叠