Sample code for 30+ languages & platforms
Zig

Get a Mail-Merge Replacement String by Index

See more Email Object Examples

Demonstrates the Chilkat Email.GetReplaceString method, which returns the replacement string for the Nth previously-defined pattern/replacement pair (a mail-merge feature). The index is zero-based and corresponds to the same index used by GetReplacePattern. This example defines two pairs and prints each pattern with its replacement.

Background: Pairing GetReplacePattern (the token to find) with GetReplaceString (the text to substitute) at the same index lets you walk the full mail-merge table. Retrieving a replacement by its position is handy when enumerating all substitutions; to look one up by its pattern instead, use GetReplaceString2.

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();

    // Demonstrates the GetReplaceString method, which returns the replacement string for the
    // Nth previously-defined pattern/replacement pair (a mail-merge feature).  The index is
    // zero-based and corresponds to the same index used by GetReplacePattern.

    const email = try chilkat.Email.init();
    defer email.deinit();
    email.setSubject("Hello FIRST_NAME");
    email.setBody("Dear FIRST_NAME, welcome to CITY.");

    email.setReplacePattern("FIRST_NAME", "John") catch {};
    email.setReplacePattern("CITY", "Denver") catch {};

    const n = email.getNumReplacePatterns();
    var i: i32 = 0;
    i = 0;
    while (i < n) : (i += 1) {
        std.debug.print("{s} -> {s}\n", .{ try email.getReplacePattern(alloc, i), try email.getReplaceString(alloc, i) });
    }
}