加入并替换多次出现的字符串

时间:2011-05-09 11:29:33

标签: javascript string parsing replace

我有这个字符串:

var data = "res_per_page=10&page_num=1&location_id=107&location_id=174&location_id=110&location_id=180"

我想将所有'location_id'参数分组为一个,以_分隔。怎么实现呢?结果字符串应如下所示:

var data = "res_per_page=10&page_num=1&location_id=107_174_110_180"

2 个答案:

答案 0 :(得分:2)

怎么样; (假设id是从1到9位的数字)

var newdata = [];
data = data.replace(/&?location_id=(\d{1,9})/ig, function(m, k, v) {
        newdata.push(k);
        return "";
    });
data += "&location_id=" + newdata.join("_");
alert(data);


in:  "res_per_page=10&page_num=1&location_id=107&location_id=174&location_id=110&location_id=180"
out: "res_per_page=10&page_num=1&location_id=107_174_110_180"

答案 1 :(得分:1)

你走了:

var dataInit = "res_per_page=10&page_num=1&location_id=107&"+
               "location_id=174&location_id=110&location_id=180"
               .split('&location_id='),
data = dataInit[0]+'&location_id='+dataInit.slice(1).join('_');

现在data的值是:res_per_page=10&page_num=1&location_id=107_174_110_180