2012-10-08 33 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 ;>