splitChunk method
Splits the string into chunks based on the provided chunk sizes.
The chunkSizes
parameter is a list of integers representing the sizes of each chunk.
If the list is empty, the entire string will be considered as a single chunk.
Returns a list of strings, where each string represents a chunk of the original string.
Example usage:
var input = 'Hello, world!';
var chunkSizes = [5, 2, 6];
var chunks = input.splitChunk(chunkSizes);
print(chunks); // Output: ['Hello', ', ', 'world!']
Implementation
List<String> splitChunk(Iterable<int> chunkSizes) {
List<String> chunks = [];
var input = this;
while (input.isNotEmpty) {
var size = chunkSizes.isNotEmpty ? chunkSizes.first : input.length;
if (size <= 0) size = input.length;
var chunk = input.substring(0, size);
if (chunk.isEmpty) {
if (input.isNotEmpty) chunks.add(input);
break;
}
chunks.add(chunk);
input = input.substring(size);
chunkSizes = chunkSizes.skip(1).toList();
}
return chunks;
}