1

cookie値で呼び出される 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); 

しかし、私は逆の方法が必要です。誰でも助けてもらえますか?

4

3 に答える 3

3

replace()次のような方法を使用してみてください。

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

または、テキストは異なる可能性があるが、文字数は同じままである場合

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

12 は、文字列の末尾から削除する文字数です。

于 2012-10-08T13:51:25.477 に答える
2

言語が(deだけでなく)何でもよい場合、正規表現を使用します:

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

これは基本的にlanguage=<anything that is not a ;>、何も置き換えないと言います

于 2012-10-08T13:55:55.757 に答える
1

現在提示されていないさらに 2 つのオプションがあります。最初のオプションは次を使用してい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 フィドルのデモ

そして2番目の使用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 フィドルのデモ

参考文献:

于 2012-10-08T15:16:59.953 に答える