splitText function
split text into a list of strings when having a pattern
Implementation
List<String> splitText(String pattern, List<String> formattedText) {
final regex = RegExp(pattern);
final List<String> splitedText = [];
for (final String text in formattedText) {
if (text.contains(regex)) {
final matches = regex.allMatches(text);
int start = 0;
for (final match in matches) {
if (start != match.start) {
splitedText.add(text.substring(start, match.start));
}
splitedText.add(text.substring(match.start, match.end));
start = match.end;
}
if (start != text.length) {
splitedText.add(text.substring(start, text.length));
}
} else {
splitedText.add(text);
}
}
return splitedText;
}