我处理查询字符串并使用其他分隔符或分界符。 现在我有兴趣删除。
我读了问题Delete parameter我使用LukePH的脚本编写。
function removeParameter(url, parameter)
{
var urlparts= url.split('?');
if (urlparts.length>=2)
{
var urlBase=urlparts.shift(); //get first part, and remove from array
var queryString=urlparts.join("?"); //join it back up
var prefix = encodeURIComponent(parameter)+'=';
var pars = queryString.split(/[&;]/g);
for (var i= pars.length; i-->0;) //reverse iteration as may be destructive
if (pars[i].lastIndexOf(prefix, 0)!==-1) //idiom for string.startsWith
pars.splice(i, 1);
url = urlBase+'?'+pars.join('&');
}
return url;
}
分隔符是:
Separator
javascript Mako
= %24+
& +%23+
在这个脚本中有
var pars = queryString.split(/[&;]/g);
我想更改句子以在分隔符上使用 split +%23+
var pars = queryString.split(/[+%23+;]/g);
这不起作用,因为包含太多值。
如何将定位的正则表达式更改为字符串?
最佳答案
方括号定义一个字符类,就像在一组潜在匹配中一样,因此将两个相同的字符放入一个字符类中是没有意义的。你需要做的是转义你的特殊字符......
var pars = queryString.split(/\+%23\+;/g);
关于javascript - 如何将定位的正则表达式更改为删除参数的分隔符查询字符串的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16266409/