getStringBetweenCharacter static method

List<String>? getStringBetweenCharacter(
  1. String word, {
  2. String startSeparator = "(",
  3. String endSeparator = ")",
})

String = Zeffry Reynando (Ganteng Sekali), it's 100% (valid)

we want to get "Ganteng Sekali" & "valid"

we should defined start & end separator we want to get

above example we should define startSeparator = "(" & endSeparator = ")"

ready to go

Another Variant

String = "He very very very startHandsomeend"

[startSeparator = "start"] & [endSeparator = "end"] return Handsome

Implementation

static List<String>? getStringBetweenCharacter(
  String word, {
  String startSeparator = "(",
  String endSeparator = ")",
}) {
  // ignore: prefer_interpolation_to_compose_strings
  final regex = RegExp(r'\' + startSeparator + '(.*?)\\' + endSeparator + '');
  final result = regex.allMatches(word);

  if (result.isEmpty) {
    return null;
  }

  final list = result.map((m) => m.group(0)!).toList().map((e) {
    final startIndex = startSeparator.length;
    final endIndex = e.indexOf(endSeparator);
    return e.substring(startIndex, endIndex);
  }).toList();

  return list;
}