static LS javaTok_simpleSpacesAndTrim(S s) { ret javaTok_simpleSpacesAndTrim(javaTok(s)); } static LS javaTok_simpleSpacesAndTrim(LS tok) { int n = l(tok); for (int i = 0; i < n; i += 2) { int nIdx = i; S space = tok.get(nIdx); S prev = get(tok, nIdx-1), next = get(tok, nIdx+1); if (empty(space)) // no space anyway? keep that space = ""; else if (prev == null || next == null) // end of string - no spaces either space = ""; else if (isBracket(prev) && isBracket(next)) space = ""; tok.set(i, space); } ret tok; }