between method
Extracts content between first occurrence of start and end.
If endOptional is true and end is not found, returns content after start.
Implementation
String between(String start, String end, {bool endOptional = true, bool trim = true}) {
if (isEmpty || start.isEmpty) return '';
final int startIndex = indexOf(start);
if (startIndex == -1) return '';
final int endIndex = end.isEmpty ? -1 : indexOf(end, startIndex + start.length);
if (endIndex == -1) {
if (endOptional) {
final String content = substringSafe(startIndex + start.length);
return trim ? content.trim() : content;
}
return '';
}
final String content = substringSafe(startIndex + start.length, endIndex);
return trim ? content.trim() : content;
}