betweenSplit method

List<String>? betweenSplit(
  1. String start,
  2. String end, {
  3. bool endOptional = true,
  4. bool trim = true,
})

Extracts all sections between start and end delimiters.

Implementation

List<String>? betweenSplit(
  String start,
  String end, {
  bool endOptional = true,
  bool trim = true,
}) {
  if (isEmpty) return null;
  final (String, String?)? found = betweenResult(
    start,
    end,
    endOptional: endOptional,
    trim: trim,
  );
  if (found == null) return null;
  final (String content, String? rest) = found;
  if (content.isEmpty) return null;
  final List<String> result = <String>[content];
  final List<String>? next = rest?.betweenSplit(start, end, endOptional: endOptional, trim: trim);
  if (next != null) result.addAll(next);
  return result;
}