str.replace(reg,"");一个正则应该不能完成吧?
'a=1&b=2'.replace(/=|&/g, v => {
if (v === '=') return ':'
else if (v === '&') return ','
})
"a=1&b=2".replace(/(\w+)\s*=\s*(\w+)\s*(\&)?/g, "$1:$2,");
==>a:1,b:2,
一句话解决,缺点是多了一个,
,可以这样处理
var a="a=1&b=2".replace(/(\w+)\s*=\s*(\w+)\s*(\&)?/g, "$1:$2,");
a=a.substring(0,a.length-1)
或者这样最好了:
var a="a=1&b=2";
a.replace(/(\w+)\s*=\s*(\w+)\s*(\&)?/g, "$1:$2,").substring(0,a.length)
var str='a=1&b=2';
str.replace(/([^&=]+)=([^&=])(&)?/g,function(str,$1,$2,$3){return $1+':'+$2+($3?',':'')})
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答839 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决