我从我的 cookies 中得到了这个字符串(示例):
Cookies = "link1=whatever; link2=whatever; delete1=true; link3=whatever; delete3=true; link4=whatever;"
我想删除以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+=)/, ''
);
更简单(基于Goran.it's answer):
Cookies = Cookies.replace(/(.*;) *delete\d+=.*?;/, '$1');
欢迎询问详情。
关于javascript如何删除字符串的某一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21797840/