static L dropLeadingPunctuation_keep = ll("*", "<", ">"); static L dropLeadingPunctuation(L tok) { tok = new ArrayList(tok); for (int i = 1; i < l(tok); ) { S t = tok.get(i); if (t.length() == 1 && !Character.isLetter(t.charAt(0)) && !Character.isDigit(t.charAt(0)) && !dropLeadingPunctuation_keep.contains(t)) { tok.remove(i); tok.remove(i); } else break; } return tok; } static S dropLeadingPunctuation(S s) { ret join(dropLeadingPunctuation(nlTok(s))); }