sub method

String sub(
  1. String input
)

Implementation

String sub(String input) {
  if (input.contains(':')) {
    if (RegExp(r':((-|)\d)').hasMatch(input)) {
      var r = RegExp(r':((-|)\d)').matchAsPrefix(input);
      var value = int.parse(r!.group(1)!);

      return substring(0, value.isNegative ? length + value : value);
    } else {
      var r = RegExp(r'((-|)\d):').matchAsPrefix(input);
      var value = int.parse(r!.group(1)!);
      return substring(length + value);
    }
  } else {
    var r = RegExp(r'((-|)\d)').matchAsPrefix(input);
    var value = int.parse(r!.group(1)!);
    var p = length + value;
    return substring(p, p + 1);
  }
}