2013-08-17 29 views
8

:String.split() --- Ardışık sınırlayıcıları nasıl tek olarak ele alırım? Bu gibi değişken sıcaklığında iki örnek dizeleri için

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

ben aşağıdakileri yapmak istiyorum:

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

Ama sonucu olan aynı olmasını istiyorum:

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

Bu, bu çift "|" davranması gerektiği anlamına gelir. bir sınırlayıcı olarak. String.split()'u kullanırken bunu yapmak için herhangi bir yolu var mı?

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

cevap

13

bir + borunun bir veya birkaç örneğini maç için ekle bir sınırlayıcı olarak ardışık sınırlayıcılar.

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

bu deneyin:

0

Evet bu mümkün

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 bölüşüm yöntemi dikkate -:

temp.split("\\|+"); 
İlgili konular