!636 !class JavaTok main { psvm { String out = "[[import]] java.*; [[import]] javax.*;"; Set markers = new HashSet(getFindMarkers(out)); String in = out.replace("[[", "").replace("]]", ""); List l = JavaTok.split(in); int i = 0; for (String t : l) { if (t.length() != 0 && markers.contains(i) && markers.contains(i+t.length())) System.out.println("Marked token found: " + t + " at " + i); i += t.length(); } } static List getFindMarkers(String s) { List l = new ArrayList(); int i = 0, ofs = 0; while (i < s.length()) { int j = s.indexOf("[[", i); if (j < 0) break; int k = s.indexOf("]]", j+2); if (k < 0) break; l.add(j-ofs); ofs += 2; l.add(k-ofs); ofs += 2; i = k+2; } /*int[] result = new int[l.size()]; for (i = 0; i < result.length; i++) result[i] = l.get(i); return result;*/ return l; } }