fn split_string_into_chunks(s: &str, chunk_size: usize) -> Vec<String> {
let mut chunks = Vec::new();
let length = s.len();
for i in (0..length).step_by(chunk_size) {
// Extract the substring and push it to the chunks vector
let end = usize::min(i + chunk_size, length);
chunks.push(s[i..end].to_string());
}
chunks
}
fn main() {
let s = "abcdefghijk";
let chunk_size = 2;
let chunks = split_string_into_chunks(s, chunk_size);
println!("Chunks of two characters:");
for chunk in chunks {
println!("{}", chunk);
}
}
/*
run:
Chunks of two characters:
ab
cd
ef
gh
ij
k
*/