Strings In Depth17 / 19
Up next

Tokenize collapses gaps

const std = @import("std");

pub fn main() void {
    const line = "  the   quick  fox ";
    // unlike split, tokenize never yields empty pieces
    var it = std.mem.tokenizeScalar(u8, line, ' ');
    var words: usize = 0;
    while (it.next()) |_| words += 1;
    std.debug.print("{d} words\n", .{words});
}
What you're solving

tokenizeScalar skips empty tokens