java中遇到的對String的分割--------split(新手記錄平日所遇到的,請大神海涵)
1.最先對String的分割處理,遇到的是例如(* ^ :| , . )這些特殊的分割標記符時,需要在呼叫split()時傳入引數前轉義,如:string.split("\\|");這樣之後才能正常分割string。
2.蛋疼的分隔符處於末尾,如:65465|41564|21312|qeiw| ,但是這個時候末尾的分隔符後還帶著一個""空字串,按照正常邏輯String[] byte=string.split("\\|"); byte[0]="65465",byte[1]="41564",byte[3]="21312",byte[4]="qeiw",byte[5]="",沒錯,一般沒有關注過這個點的朋友就陷進去了
其實結果並不是這樣。它會因為最後一位是分隔符"|"而導致無法按正常邏輯分割,導致byte[4]以前的所有分割都正常,byte[4],byte[5]都會存在分割問題,此時只需設定好 String []info=string.split("\\|",-1),在原方法內多加一個引數-1,即可通知分割操作不忽略任何一個分隔符。
3.還有一個傻傻的操作就是判斷這個字串後面是否為標誌符號,若是的話手動新增一個字串s或者任意其他字串,直到後續分割完後判斷在讓那個值賦值回來即可。這個方法有點投機取巧,還是希望大家用2的方法
if(string.endsWith("|")){
string=string+"s";
}
String []info=param.split("\\|");
u_id=info[0];
gold=info[1];
code=info[2];
type=info[3];
bind=info[4];
name=info[5];
if(name.equals("s")){
name="";
}