static S replaceRangesWithXYZVars(S s, L ranges) { new StringBuilder buf; int i = 0, varIndex = 0; for (IntRange r : ranges) { if (i < r.start) buf.append(substring(s, i, r.start)); buf.append(xyzVar(++varIndex)); i = r.end; } if (i < l(s)) buf.append(substring(s, i)); ret str(buf); }