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

标签 javascript string cookies replace

我从我的 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/

相关文章:

javascript - 如何在按钮点击上实现 math.pow 的最佳方式?

javascript - 创建回调API

python - 如何在 Python 中修改此字符串

Python - 在 "\\"之后拆分时丢失数据

Javascript ajax GET 调用在初始页面加载时不包含 cookie-sid

javascript - 参数 "options"不是 Firestore 上的有效 SetOptions 错误

javascript - 使用 HTML 按钮将文本复制到剪贴板

C++吞咽错误

jquery - 为 JQuery UI 模态对话框设置 Cookie

java - 使用cookie读取URL到字符串Java