在括号内分割字符串

时间:2014-01-13 12:38:36

标签: jquery

我有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

4 个答案:

答案 0 :(得分:3)

怎么样:

  var hey = $("#matchingDivs").text();
  var href = hey.match(/\(([^()]+)\)/g);

  alert(href[0]);
  alert(href[1]);

答案 1 :(得分:1)

尝试

var href = $.trim($("#matchingDivs").text()).match(/\(.*?\)/g);  
console.log(href);

演示:Fiddle

答案 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中的解析文本,这与实际问题无关)。