首頁  >  問答  >  主體

javascript - split截取等號

var string="content=ABCDEFGHIJKLMN="
var ca = string.split("=");
ca[0]=content;
ca[1]=ABCDEFGHIJKLMN;
ca[2]="";
可是我不要截取到第二個等號(要保留),這個要怎麼處理呢?

代言代言2685 天前1246

全部回覆(7)我來回復

  • phpcn_u64

    phpcn_u642018-06-21 21:11:04

    第666章

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-15 09:25:13

    用正規吧

    var string="content=ABCDEFGHIJKLMN="
    var ca = string.split(/=(?=.)/);

    回覆
    0
  • 大家讲道理

    大家讲道理2017-06-15 09:25:13

    你不太適合程式設計啊孩子。 。 。
    直接取ca[1]+"="就可以了,幹嘛非得取到原來的等號呢?思路一定要靈活,等價這個字對一個程式設計師來說是很重要的。

    回覆
    0
  • typecho

    typecho2017-06-15 09:25:13

    看了你在各回答的評論,妄且猜測你大概是這麼一個意圖:試圖去找出一個程式語言內建的方法,去實現這個功能。只需要呼叫一下它,例如呼叫個函數,或是加個參數。

    對麼?

    但是問題是現在語言很可能(因為我自己並不十分精通js,不敢下定論一定沒有)並沒有加入這麼一個內置的功能特性,那你就需要自己去實現它。

    其實語言內建的功能,也只是別人預先實現好的而已。你非要去找出一個,反而落入了死板。

    正如@G_Koala_C所說用簡單直覺的方式解決問題才是王道。

    回覆
    0
  • 三叔

    三叔2017-06-15 09:25:13

    如果是有大於兩個的=不就坑了?所以還得

    str1 = ca[0];
    ca.shift();
    str2 = ca.join('=');

    個人喜歡正規則,不過也可以用indexof找到第一個=。但是此方法也要判斷回傳值是否為-1。

    回覆
    0
  • 巴扎黑

    巴扎黑2017-06-15 09:25:13

    stringObject.split(separator,howmany)

    separator 必需。字串或正規表示式,從該參數指定的地方分割 stringObject。
    howmany 可選。此參數可指定傳回的陣列的最大長度。如果設定了該參數,則傳回的子字串不會多於這個參數指定的陣列。如果沒有設定該參數,整個字串都會被分割,不考慮它的長度。

    用法出處http://www.w3school.com.cn/js...

    回覆
    0
  • 迷茫

    迷茫2017-06-15 09:25:13

    看了 node.jsquerystring模組的源碼,按照源碼的思路是這樣處理的:

    var string="content=ABCDEFGHIJKLMN="
    var kstr,vstr;
    var idx=string.indexOf('=')
    if(idx>=0){
     kstr=string.substr(0,idx)
    vstr=string.substr(idx+1)
    }else{
       kstr=string
      vstr=''
    }
    console.log(kstr,vstr)  //=>content ABCDEFGHIJKLMN=

    回覆
    0
  • 取消回覆