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?',':'')})1 回答858 阅读✓ 已解决
1 回答1.1k 阅读
2 回答774 阅读
2 回答622 阅读
2 回答607 阅读
1 回答682 阅读
2 回答529 阅读