2016-02-26 64 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(", ")