Sample code for 30+ languages & platforms
Zig

StringTable SplitAndAppend Example

Demonstrates the StringTable SplitAndAppend method.

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    const str_tab = try chilkat.StringTable.init();
    defer str_tab.deinit();

    // SplitAndAppend make it easy to break apart comma delimited, semicolon delimited,
    // or strings delimited by other characters.
    const s = "abc,123,xyz,456,music,math,\"World History\",\"Chicago,Cubs\",Japan";

    str_tab.splitAndAppend(s, ",", true, true) catch {};

    var i: i32 = 0;
    const num_strings = str_tab.getCount();
    while (i < num_strings) {
        std.debug.print("{d}: {s}\n", .{ i, try str_tab.stringAt(alloc, i) });
        i = i + 1;
    }

    // The output is:
    // 0: abc
    // 1: 123
    // 2: xyz
    // 3: 456
    // 4: music
    // 5: math
    // 6: "World History"
    // 7: "Chicago,Cubs"
    // 8: Japan

    // Note: Keeping the quotes is intentional.
}