2013-08-17 5 views
8

Для двух выборок строк в переменной температуры, таких как эти:String.split() --- Как обрабатывать последовательные разделители как один?

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

Я хочу сделать следующее:

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

Но я хочу, чтобы результат тот же, что:

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

Это означает, что мне нужно рассматривать этот двойной символ "|" как один разделитель. Есть ли способ сделать это, продолжая использовать String.split()?

ответ

13

Добавить + заменяющий один или несколько экземпляров трубы:

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

Попробуйте это: -

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

Да можно

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 сплит метод рассматривает последовательные разделители как один разделитель.

org.apache.commons.lang.StringUtils.split("|");