searchInText function
Implementation
List<String> searchInText(String text, SearchType type) {
var trimmedText = text.trim();
List<String> results = [];
bool scanCompleted = false;
int endIndex = -1;
while (!scanCompleted) {
if(!trimmedText.contains(' ') && !trimmedText.contains('\n')) {
scanCompleted = true;
if(_validateAsPerType(trimmedText, type)) {
results.add(trimmedText);
}
return results;
} else {
final spaceIndex = trimmedText.indexOf(' ');
final newLineIndex = trimmedText.indexOf('\n');
if(spaceIndex < 0) {
endIndex = newLineIndex;
} else if(newLineIndex < 0) {
endIndex = spaceIndex;
} else {
endIndex = min(spaceIndex, newLineIndex);
}
final word = trimmedText.substring(0, endIndex);
if(_validateAsPerType(word, type)) {
results.add(word);
}
trimmedText = trimmedText.substring(endIndex+1).trim();
}
}
return results;
}