我有这个字符串:
var chain = "providerId=12$familyId=123&brandId=1122112$officeId=21&";
我需要做一个用正则表达式擦除某个单词的方法。
示例:
var word = "familyId";
var newChain = deleteParam(chain, word);
console.log(newChain);
结果=“providerId = 12 $ brandId = 1122112 $ officeId = 21&”;
删除: familyId = 123&
我尝试按以下方式执行此方法,但它不起作用:
function deleteParam(chain, word) {
var exp = new RegExp(param, "=[0-9]&");
var str = chain.replace(exp, ""); // Delete
return str
}
请,我需要你的帮助,我不能使这个方法有效,因为我不太了解如何构建正则表达式。
对不起,英语不是我的母语
非常感谢所有人。
答案 0 :(得分:0)
您可以使用类似new RegExp(param + "=\[^&]+")
以下是一个例子:
var chain = "providerId=12$familyId=123&brandId=1122112$officeId=21&";
var toRemove = "familyId";
var pattern = new RegExp(toRemove + "=[^&]*&");
var newChain = chain.replace(pattern, "");
console.log(newChain);

如果您希望处理GET
个请求的搜索参数,最好使用这样的模式(&|\?)*parameterName=[^&]*