static S substring(S s, int x) { ret substring(s, x, strL(s)); } static S substring(S s, int x, int y) { if (s == null) return null; if (x < 0) x = 0; int n = s.length(); if (y < x) y = x; if (y > n) y = n; if (x >= y) ret ""; return s.substring(x, y); } ifclass IntRange static S substring(S s, IntRange r) { ret r == null ? null : substring(s, r.start, r.end); } endif // convenience method for quickly dropping a prefix sS substring(S s, CharSequence l) { ret substring(s, lCharSequence(l)); }