2014-02-25 157 views
0

我有串"1000:2000,3000",我需要把它分爲3個字符串,這樣類似的東西:如何分隔多個分隔符上的字符串?

"1000" 
"2000" 
"3000" 

我的代碼如下所示:

int datas = 0; 
String item = ""; 
String data = ""; 
String pocet = ""; 
List<String> items = "1000:2000,3000"; 
for (int ii = 0; ii < items.size(); ii++) { 
    System.out.println(items.get(ii)); 
    int delkaid = items.get(ii).indexOf(":"); 
    int delkadat = items.get(ii).indexOf(",") - items.get(ii).indexOf(":"); 
    int delkapoctu = items.get(ii).length() - items.get(ii).indexOf(","); 


    for (int ite = 0; ite < delkaid; i++) { 
     item = item + items.get(ii).charAt(ite) + ""; 
    } 

    for (int ite = 0; ite < delkadat; i++) { 
     data = data + items.get(ii).charAt(items.get(ii).indexOf(":") + 1 + ite) + ""; 
    } 

    for (int ite = 0; ite < delkapoctu; i++) { 
     pocet = pocet + items.get(ii).charAt(items.get(ii).indexOf(",") + 1 + ite) + ""; 
    } 
    datas = Integer.valueOf(data); 

} 

但是我在代碼中的一些錯誤。

+1

你可以使用'String.split(「:」);'你不需要任何代碼來完成這個。 – ktm5124

+0

String [] parts = string.split(「:」); –

+2

爲了完整性,您實際上需要(a)分割兩次,或(b)在正則表達式上分割。這就是Java的'String.split'所做的,例如':|,' –

回答

6

您的代碼編譯犯規歸因於String的分配到你的List,但你可以在一個alternation

String[] array = str.split(":|,"); 

大小相等的相應整數數組分割可以用來保存整數值。這些可以在基本for

4

這裏處理是一個link to a running example

public static void main (final String[] args) 
{ 
    final String s = "1000:2000,3000"; 
    final String[] a = s.split("[:,]"); 
    for (final String n : a) 
    { 
     System.out.println(n); 
    } 
} 

輸出

1000 
2000 
3000 
0

這將拆分號碼在任何分隔符上

String numbers[] = line.split("\\D+");