String advSubString(int start, [int? end]) { return substring( start < 0 ? start + length : start, end != null && end < 0 ? length + end : end, ); }