用括号拆分字符串成为参数

时间:2016-06-21 02:41:12

标签: javascript jquery

如果我有输入值" a [123],b [456],c [789]"我希望以" a = 123& b = 456& c789"

返回

我已尝试过以下代码,但没有运气..有没有正确的方法来实现它?



var str = "a[123],b[456],c[789]"
var string = (str).split(/\[|,|\]/);

alert(string);




4 个答案:

答案 0 :(得分:4)

一个选项是:

var rep = { '[': '=', ']': '', ',': '&' };
var query = str.replace(/[[,\]]/g, el => rep[el] );

答案 1 :(得分:1)

分隔符已经存在,只需将一个分隔符替换为另一个分隔符。将每个[替换为=,将每个,替换为&,然后移除所有]

var str = "a[123],b[456],c[789]"
var string = str.replace(/([a-z])\[(\d+)],?/g, '$1=$2&').slice(0, -1);

alert(string);

答案 2 :(得分:0)

蛮力的方式我不擅长正则表达式。只是添加我的想法

 var str = "a[123],b[456],c[789]"
 str = str.replace(/],/g, '&');
 str = str.replace(/\[/g, '=');
 str = str.replace(/]/g,'');
 alert(str);

答案 3 :(得分:0)

简单的2行答案是:

str=str.replace(/,/g,"&");
str=str.replace(/(\w)\[(\d+)\]/g,"$1=$2");