2016-02-26 72 views
0

我得到單位ID的字符串從這個:單獨的ID或值的字符串使用逗號作爲分隔符

String units = FolderUtil.getInstance().getUnits(folderId); 

,看起來像這樣:

[1886bec8-334b-4be0-bcb6-3594c7e454b6, 4818dda2-e124-460d-b910-dc0386ceb138, e95cdfcb-14d6-4065-a69d-8f0213e1f8b4] 

我怎麼能每個ID分開,以便我可以將每個值單獨傳遞給另一種方法?

+3

可能的重複[如何分割逗號分隔的字符串?](http://stackoverflow.com/questions/10631715/how-to-split-a-comma-separated-string) – Ellis

回答

3

這是一個使用substring代替replace一個有效的解決方案:

String s1 = "[1886bec8-334b-4be0-bcb6-3594c7e454b6, 4818dda2-e124-460d-b910-dc0386ceb138, e95cdfcb-14d6-4065-a69d-8f0213e1f8b4]"; 
String s2 = s1.substring(1,s1.length()-1); 
String[] ss = s2.split(","); 
for (String str : ss) { 
     System.out.println(str.trim()); 
} 

雖然通過查看該字符串,它看起來像一個字符串數組的字符串表示。因此,如果您開發了getUnits方法,我建議您重構它以返回正確的類型,而不是arrayOfUnits.toString()的結果。

+0

完美!我無法正確地獲得for循環。謝謝! – Jason

1

試試這個:

String units = FolderUtil.getInstance().getUnits(folderId); 
String[] unitParts = units.replace("[","").replace("]", "").split(", ")