如何将locate的正则表达式更改为delete参数的分隔符's查询字符串

how to change the regex for locate to string of separator's query string for delete parameter

本文关键字:分隔符 参数 查询 字符串 locate 正则表达式 delete      更新时间:2023-09-26

我处理查询字符串并使用其他分隔符或非分隔符。现在我想删除。

我阅读了问题Delete参数,我使用了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);

我想改变使用分隔符+%23+上的split的句子

var pars = queryString.split(/[+%23+;]/g);

这个函数不能用,因为它包含太多的值。

如何改变正则表达式定位到字符串?

方括号定义了一个字符类,就像在一组潜在匹配中一样,因此将两个相同的字符放在字符类中是没有意义的。你需要做的是转义你的特殊字符…

var pars = queryString.split(/'+%23'+;/g);