【问题标题】:Cut Javascript string off [closed]切断Javascript字符串[关闭]
【发布时间】:2012-10-08 13:49:35
【问题描述】:

我有一个名为 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); 

但我只需要相反的方式。有人可以帮忙吗?

【问题讨论】:

  • “反向”是什么意思?

标签: javascript string variables substring


【解决方案1】:

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

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

或者如果文本可以变化但字符数保持不变

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

其中 12 是要从字符串末尾删除的字符数

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      目前还没有另外两个选项,第一个是使用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.

      参考资料:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-12-10
        • 2010-10-13
        相关资源
        最近更新 更多