static bool endsWithIgnoreCase(S a, S b) { int la = l(a), lb = l(b); ret la >= lb && regionMatchesIC(a, la-lb, b, 0, lb); } ifclass Matches static bool endsWithIgnoreCase(S a, S b, Matches m) { if (!endsWithIgnoreCase(a, b)) false; if (m != null) m.m = new S[] { substring(a, 0, l(a)-l(b)) }; true; } endif