如果我有输入值" 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);

答案 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");