sub method
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);
}
}