Sample code for 30+ languages & platforms
Rust

StringBuilder SetNth

Demonstrates the SetNth method.

Chilkat Rust Downloads

Rust
// The SetNth method is handy for setting a part of a delimited string.
// For example:

let sb = chilkat::StringBuilder::new();
let _ = sb.append("red,blue,\"green,purple\",,yellow");

let delimiter_char = ",".to_string();
let except_double_quoted = true;
let except_escaped = true;

let _ = sb.set_nth(2, "magenta", &delimiter_char, except_double_quoted, except_escaped);
// Prints "red,blue,magenta,,yellow"
println!("{}", sb.get_as_string().unwrap_or_default());

let _ = sb.set_nth(3, "orange", &delimiter_char, except_double_quoted, except_escaped);
// Prints "red,blue,magenta,orange,yellow"
println!("{}", sb.get_as_string().unwrap_or_default());

// What happens if we start with an empty string?
sb.clear();

let _ = sb.set_nth(2, "apple", &delimiter_char, except_double_quoted, except_escaped);
// Prints ",,apple"
println!("{}", sb.get_as_string().unwrap_or_default());

let _ = sb.set_nth(0, "orange", &delimiter_char, except_double_quoted, except_escaped);
// Prints "orange,,apple"
println!("{}", sb.get_as_string().unwrap_or_default());

let _ = sb.set_nth(1, "banana", &delimiter_char, except_double_quoted, except_escaped);
// Prints "orange,banana,apple"
println!("{}", sb.get_as_string().unwrap_or_default());