takeWords method
Take the first number of words from the string
Words are separated by whitespace
If number is greater than word count, returns the entire string
If number is negative or zero, returns an empty string
Example:
'Hello World from Dart'.takeWords(2) // Returns 'Hello World'
'Single'.takeWords(5) // Returns 'Single'
'Test String'.takeWords(0) // Returns ''
Implementation
String takeWords(int number) {
if (number <= 0) return '';
final words = split(RegExp(r'\s+'));
if (number >= words.length) return this;
return words.take(number).join(' ');
}