groupIntoWords property
Implementation
List<String> get groupIntoWords {
var sb = StringBuffer();
var words = <String>[];
var isAllCaps = toUpperCase() == this;
for (var i = 0; i < length; i++) {
var char = this[i];
var nextChar = i + 1 == length ? null : this[i + 1];
if (_symbolSet.contains(char)) {
continue;
}
sb.write(char);
var isEndOfWord = nextChar == null ||
(_upperAlphaRegex.hasMatch(nextChar) && !isAllCaps) ||
_symbolSet.contains(nextChar);
if (isEndOfWord) {
words.add('$sb');
sb.clear();
}
}
return words;
}