2012-10-08 32 views
1

我有cookie JavaScript变量称为与价值切割JavaScript字符串关闭

__utma=43024181.64497201.1349454717.1349695569.1349702850.4; __utmz=43024181.1349679955.2.2.utmcsr=aerosoft-press.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __utmc=43024181; __utmb=43024181.8.10.1349702850; language=de

现在我想切断该字符串的language=de一部分。我找到了从后面切割的方法:

cookie = cookie.substring(0,cookie.length-11); 

但我只是需要相反的方式。谁能帮忙?

+0

你是什么意思与“相反的方式”? – RoToRa

回答

1

另外两个选项,目前尚未提出,一是采用indexOf()

var cookie = "__utma=43024181.64497201.1349454717.1349695569.1349702850.4;__utmz=43024181.1349679955.2.2.utmcsr=aerosoft-press.com|utmccn=referral)|utmcmd=referral|utmcct=/;__utmc=43024181; __utmb=43024181.8.10.1349702850; language=de", 
    newCookie = cookie.substring(0,cookie.indexOf(' language')); 
console.log(newCookie); 

JS Fiddle demo

第二个使用lastIndexOf()

var cookie = "__utma=43024181.64497201.1349454717.1349695569.1349702850.4;__utmz=43024181.1349679955.2.2.utmcsr=aerosoft-press.com|utmccn=referral)|utmcmd=referral|utmcct=/;__utmc=43024181; __utmb=43024181.8.10.1349702850; language=de", 
    // the '+ 1' in the following line assumes you want to keep the ';' character 
    newCookie = cookie.substring(0,cookie.lastIndexOf(';') + 1); 
console.log(newCookie); 

JS Fiddle demo

参考文献:

3

尝试使用replace()方法是这样的:

cookie = cookie.replace(" language=de", ""); 

或文本可能不同,但字符数保持不变

cookie = cookie.substring(0, s.length - 12) 

,其中12是你想要的字符数从字符串的末尾移除

2

如果语言可以是任何东西(不仅仅是de),我会使用正则表达式:

cookie = cookie.replace(/language=[^;]+;?/, ""); 

这基本上说什么也没有更换language=<anything that is not a ;>