1.split()+正規表示式來進行擷取。
將正則傳入split()。返回的是乙個字串陣列型別。不過通過這種方式擷取會有很大的效能損耗,因為分析正則非常耗時。
string str = "abc,12,3yy98,0";
string strs=str.split(",");
for(int i=0,len=strs.length;i
abc
123yy98
0
2.通過substring()方法來進行字串擷取。
substring通過不同的引數來提供不同的擷取方式
2.1只傳乙個引數
例如:
string sb = "bbbdsajjds";
sb.substring(2);
將字串從索引號為2開始擷取,一直到字串末尾。(索引值從0開始);
2.2傳入2個索引值
string sb = "bbbdsajjds";
sb.substring(2, 4);
從索引號2開始到索引好4結束(並且不包含索引4擷取在內,也就是說實際擷取的是2和3號字元);
執行結果如下:
bdsajjds
bd
舉個例子,下面這個字串,取出來mycouponactivity
ios.yyvoucherviewcontroller
.android
.mycouponactivity?
jsonobject extrasjson = new jsonobject(extras);
log.i("extrasjson",extrasjson.tostring());
string back=extrasjson.optstring("url");
string top= back.substring(0,3);
log.i("topff",top);
string exittop=back.substring(6);
log.i("exittop",exittop);
// ios.yyvoucherviewcontroller
.android
.mycouponactivity?
string exitend= exittop.substring(0,exittop.indexof("?"));
log.i("exitend",exitend);
.android
.mycouponactivity
string strs=exitend.split("\\.");
string togoclass=strs[3].tostring();
intent intent2 =new intent(context, class.forname("com.yylc.yylearncar.view.activity.mine."+togoclass));
context.startactivity(intent2);
通過class.forname的方法,跳轉到介面上,但是必須是類的全路徑名稱 java 字串擷取的幾種方式
1.split 正規表示式來進行擷取。將正則傳入split 返回的是乙個字串陣列型別。不過通過這種方式擷取會有很大的效能損耗,因為分析正則非常耗時。string str abc,12,3yy98,0 string strs str.split for int i 0,len strs.length ...
集錦 java字串的擷取方式
1.split 正規表示式來進行擷取。將正則傳入split 返回的是乙個字串陣列型別。缺點 會有很大的效能損耗,因為分析正則非常耗時。string str abc,12def string strs str.split for int i 0 i strs.length i 執行結果 abc12de...
shell 擷取字串的幾種方式
shell 擷取字串通常有兩種方式 從指定位置開始擷取和從指定字元 子字串 開始擷取。從指定位置開始擷取 這種方式需要兩個引數 除了指定起始位置,還需要擷取長度,才能最終確定要擷取的字串。既然需要指定起始位置,那麼就涉及到計數方向的問題,到底是從字串左邊開始計數,還是從字串右邊開始計數。答案是 sh...