2013-08-17 30 views
8

Đối với hai chuỗi mẫu trong tạm thời biến như thế này:String.split() --- Làm cách nào để xử lý các dấu phân cách liên tiếp là một?

(1) "|RYVG|111|9|" 
(2) "|RYVG|111||9|" 

Tôi muốn làm như sau:

String splitRating[] = temp.split("\\|",); 

Nhưng tôi muốn kết quả là như nhau, đó là:

splitrating[0] = "" 
splitrating[1] = "RYVG" 
splitrating[2] = "111" 
splitrating[3] = "9 

Điều này có nghĩa là tôi cần phải đối xử với điều đó gấp đôi "|" như một dấu phân cách. Có cách nào để thực hiện việc này trong khi vẫn đang sử dụng String.split() không?

Trả lời

13

Thêm một + để phù hợp với một hoặc nhiều trường hợp của các đường ống:

temp.split("\\|+"); 
1

Hãy thử điều này: -

String splitRating[] = temp.split("\\|+"); 
0

Có nó có thể

class Split 
{ 
public static void main(String[] args) 
{ 
    String temp="|RYVG|111||9|"; 

    String splitRating[] = temp.split("\\|+"); 

    for(String split:splitRating){ 
    System.out.println(split); 
} 
} 
    } 
0

StringUtils phương pháp phân chia cân nhắc các dấu phân cách liên tiếp là một dấu phân cách.

org.apache.commons.lang.StringUtils.split("|"); 
Các vấn đề liên quan