如何拆分两个或多个地址

时间:2015-05-14 19:16:49

标签: javascript jquery arrays regex

我以这种格式从服务器端获取数据

    coll={state:AP,address:['(A14,F4,J.V VILLA(AC))','(A5,F4,Json Park(DC))']}

我希望将地址放在选择框中作为选项

    select box
     ----A14,F4,J.V VILLA(AC)
     ----A5,F4,Json Park(DC)

我试过了什么

    jQuery.each(coll,function(key,value){  
       var temp_address=value.address.split(',');
       jQuery.each(temp_address,function(key1,value1){
             var option = new Option(value1, value1);
             select_purchase.append(jQuery(option));
       });

我的输出为

 select box
 ----(A14,F4,J.V VILLA(AC))
 ----(A5,F4,Json Park(DC))

我想删除那些圆括号地址,我害怕使用正则表达式,因为它可能会删除我的圆括号内部地址,任何人都可以帮助我从数组中选择框中有效插入选项。我想要它因为我可能有大量的地址,这可能会很慢

更新 谷歌搜索了一段时间后,我发现传统的forloop比每个

快得多

1 个答案:

答案 0 :(得分:2)

精心制作的正则表达式只会删除外括号:

var address = address.replace(/^\(|\)$/g,''); 

这个表达式可以解释如下:

 ^ at the start
 \( a parenthesis
 | or
 \) a parenthesis
 $ at the end

匹配的字符串将替换为''

您可以这样称呼它:

coll.address = coll.address.map(function(s){ return s.replace(/^\(|\)$/g,'') });

请注意,如果您始终要删除第一个和最后一个字符,您也可以直接执行

var address = address.slice(1,-1);