我在从字符串中替换不必要的字符集时遇到问题。以下正则表达式替换字符集“&=&”的第一次出现,但不处理剩余部分。如何用正则表达式替换字符集的第一个和任何连续出现的地方?
var test = "var1=data1&var2=data2&=&=&=&=&var3=data3&=&=&var4=data4&var5=&var6=data6";
var result = "";
result = test.replace(/(\&\=\&)+/g, '&');
// Result returns "var1=data1&var2=data2&=&=&var3=data3&=&var4=data4&var5=&var6=data6"
最佳答案
您可以改用积极的前瞻性。基本上,寻找 &=
,但只有那些后面跟有另一个 &
的:
var a = "var1=data1&var2=data2&=&=&=&=&var3=data3&=&=&var4=data4&var5=&var6=data6";
var b = a.replace(/\&=(?=\&)/g,'');
// b = var1=data1&var2=data2&var3=data3&var4=data4&var5=&var6=data6
(我认为这就是你所追求的)
关于Javascript 正则表达式和替换连续字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18200149/