Look into String.split(). You could call it once to split a bunch of bracketed sections into an array. Then you could use split again or maybe just some basic indexOf() and substring() stuff to to pull off the idx: part. If you're not familiar with all these methods look them up in the JavaDoc, try a little bit of code and show us how it goes.
class StringSplit { public static void main(String args[]){ String str ="[id1:1c56c60:10ba45927f6:-7fff][id2:1c56c60:10ba45927f6:-7ffe][id3:1c56c60:10ba45927f6:-7ffd][id4:1c56c60:10b]"; for (int i=0;i<str.length()-1;i++ ){ if (str.charAt(i)=='[') { String str1=null; while (!(str.charAt(i)==']')){ str1=str1+(str.charAt(i));
i++; } // End Of While System.out.println(str1.substring(9)); } // End Of If } // End Of For Loop } // End of Main }