Javascript 正则表达式和替换连续字符集

标签 javascript regex replace

我在从字符串中替换不必要的字符集时遇到问题。以下正则表达式替换字符集“&=&”的第一次出现,但不处理剩余部分。如何用正则表达式替换字符集的第一个和任何连续出现的地方?

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/

相关文章:

在 Firefox 中工作但在 IE 中不工作的 Javascript -

java - 正则表达式提取软件版本

JavaScript 执行返回 null

javascript - 替换文本但保留谷歌浏览器扩展内容脚本中的链接

MYSQL - 替换特定产品中特定字段中的文本

javascript - 从 jQuery Autocomplete Widget Ajax 调用中访问 $(this) DOM 元素

javascript - WebGL 上的错误 "Tex image TEXTURE_2D level 0 is incurring lazy initialization"

c# - 如何停止 UrlRewriter 剥离我的 + 符号

linux - 如何从终端用更多文件中的另一个字符串替换一个字符串?

javascript - 为什么 this.defaultNumber 未定义?试图理解 IIFE