var string="content=ABCDEFGHIJKLMN="var ca = string.split("=");ca[0]=content;ca[1]=ABCDEFGHIJKLMN; ca[2]="";可是我不要截取到第二個等號(要保留),這個要怎麼處理呢?
第666章
用正規吧
var string="content=ABCDEFGHIJKLMN=" var ca = string.split(/=(?=.)/);
你不太適合程式設計啊孩子。 。 。 直接取ca[1]+"="就可以了,幹嘛非得取到原來的等號呢?思路一定要靈活,等價這個字對一個程式設計師來說是很重要的。
ca[1]+"="
看了你在各回答的評論,妄且猜測你大概是這麼一個意圖:試圖去找出一個程式語言內建的方法,去實現這個功能。只需要呼叫一下它,例如呼叫個函數,或是加個參數。
對麼?
但是問題是現在語言很可能(因為我自己並不十分精通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.js的querystring模組的源碼,按照源碼的思路是這樣處理的:
node.js
querystring
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=
第666章
用正規吧
你不太適合程式設計啊孩子。 。 。
直接取
ca[1]+"="
就可以了,幹嘛非得取到原來的等號呢?思路一定要靈活,等價這個字對一個程式設計師來說是很重要的。看了你在各回答的評論,妄且猜測你大概是這麼一個意圖:試圖去找出一個程式語言內建的方法,去實現這個功能。只需要呼叫一下它,例如呼叫個函數,或是加個參數。
對麼?
但是問題是現在語言很可能(因為我自己並不十分精通js,不敢下定論一定沒有)並沒有加入這麼一個內置的功能特性,那你就需要自己去實現它。
其實語言內建的功能,也只是別人預先實現好的而已。你非要去找出一個,反而落入了死板。
正如@G_Koala_C所說
用簡單直覺的方式解決問題才是王道。
如果是有大於兩個的=不就坑了?所以還得
個人喜歡正規則,不過也可以用indexof找到第一個=。但是此方法也要判斷回傳值是否為-1。
separator 必需。字串或正規表示式,從該參數指定的地方分割 stringObject。
howmany 可選。此參數可指定傳回的陣列的最大長度。如果設定了該參數,則傳回的子字串不會多於這個參數指定的陣列。如果沒有設定該參數,整個字串都會被分割,不考慮它的長度。
用法出處http://www.w3school.com.cn/js...
看了
node.js
的querystring
模組的源碼,按照源碼的思路是這樣處理的: