Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript如何删除字符串的某一部分?_Javascript_String_Cookies_Replace - Fatal编程技术网

javascript如何删除字符串的某一部分?

javascript如何删除字符串的某一部分?,javascript,string,cookies,replace,Javascript,String,Cookies,Replace,我从我的Cookie中获得此字符串(示例): 我想删除字符串的最后一部分,该部分以delete开头,以“;”或“”(无,结束)。在本例中,我希望-->delete3=true 您可以这样做: Cookies = Cookies.split(';'); var i = Cookies.length, r = /^ *delete\d+=/; while (--i >= 0) { if (r.test(Cookies[i])) { Cookies.splice(

我从我的Cookie中获得此字符串(示例):

我想删除字符串的最后一部分,该部分以delete开头,以“;”或“”(无,结束)。在本例中,我希望-->delete3=true 您可以这样做:

Cookies = Cookies.split(';');
var i = Cookies.length,
    r = /^ *delete\d+=/;
while (--i >= 0) {
    if (r.test(Cookies[i])) {
        Cookies.splice(i, 1);
        Cookies = Cookies.join(';');
        break;
    } 
}
较短的方式:

Cookies = Cookies.replace(
    /; *delete\d+=[^;]*(?!.*; *delete\d+=)/, ''
);
更简单(基于):


请随时询问详细信息。

这里有一个简单的正则表达式解决方案:

var Cookies = "link1=whatever; link2=whatever; delete1=true; link3=whatever; delete3=true; link4=whatever;";
var fixed = Cookies.replace(/(.*)(\s?delete.*?;)(.*)$/, '$1$3');

// fixed is now: "link1=whatever; link2=whatever; delete1=true; link3=whatever;  link4=whatever;"
Javascript:

Cookies = "link1=whatever; link2=whatever; delete1=true; link3=whatever; delete3=true; link4=whatever;";

aa = Cookies.split(';');

for (_i = 0, _len = aa.length; _i < _len; _i++) {
  a = aa[_i];
  if (a.trim().search(/^delete/) !== -1) deleters = aa.indexOf(a);
}

aa.splice(deleters, 1);

Cookies = aa.join(';');
var Cookies = "link1=whatever; link2=whatever; delete1=true; link3=whatever; delete3=true; link4=whatever;";
var fixed = Cookies.replace(/(.*)(\s?delete.*?;)(.*)$/, '$1$3');

// fixed is now: "link1=whatever; link2=whatever; delete1=true; link3=whatever;  link4=whatever;"
Cookies = "link1=whatever; link2=whatever; delete1=true; link3=whatever; delete3=true; link4=whatever;";

aa = Cookies.split(';');

for (_i = 0, _len = aa.length; _i < _len; _i++) {
  a = aa[_i];
  if (a.trim().search(/^delete/) !== -1) deleters = aa.indexOf(a);
}

aa.splice(deleters, 1);

Cookies = aa.join(';');
Cookies = "link1=whatever; link2=whatever; delete1=true; link3=whatever; delete3=true; link4=whatever;"
aa=Cookies.split(';')
for a in aa
    deleters=aa.indexOf(a) if a.trim().search(/^delete/)!=-1
aa.splice(deleters, 1)
Cookies = aa.join(';')