javascript - split截取等號
代言
代言 2017-06-15 09:23:13
0
7
1308

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

代言
代言

全部回覆(7)
phpcn_u64

第666章

我想大声告诉你

用正規吧

var string="content=ABCDEFGHIJKLMN="
var ca = string.split(/=(?=.)/);
大家讲道理

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

typecho

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

對麼?

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

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

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

三叔

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

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

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

巴扎黑
stringObject.split(separator,howmany)

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

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

迷茫

看了 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=
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板