我有var string = (2200 x 1500)(2441 x 1610)
我想将字符串从括号内拆分为数组href[0] = (2200 x 1500)
和href[1] = (2441 x 1610)
我试过这个:
var href = [];
$(document).each(function () {
var hey = matchingDivs.text();
var res = hey.split(")(");
href.push(res);
});
因此,当我提醒alert("("+href[href.length -1]);
时,结果应为(2441 x 1610)
,而是提出see JSFIDDLE
答案 0 :(得分:3)
怎么样:
var hey = $("#matchingDivs").text();
var href = hey.match(/\(([^()]+)\)/g);
alert(href[0]);
alert(href[1]);
答案 1 :(得分:1)
答案 2 :(得分:0)
var string = "(2200 x 1500)(2441 x 1610)";
var href = string.replace(")(", ")#(").split("#");
答案 3 :(得分:0)
看起来你误解了push
的作用(见documentation)。
它只是将作为新元素传入的任何内容附加到数组中。
因此,在您的情况下,它会将split(数组)的整个结果追加到href
数组的末尾。所以最后你有2个深的数组,外部的一个大小为1,内部的大小为2,包含你正在寻找的元素。
但是,您希望将分割返回的元素添加到数组中。
此外,您可以尝试首先简化您的示例(通过省略div中的解析文本,这与实际问题无关)。