strcanon

fnstring strcanon(string string_, string validChars, char substitutor)

For each character in string, if the character is not in valid_chars, replaces the character with substitutor.

Modifies string in place, and return string itself, not a copy. The return value is to allow nesting such as:

g_ascii_strup (g_strcanon (str, "abc", '?'))

In order to modify a copy, you may use funcGLib.strdup:

reformatted = g_strcanon (g_strdup (const_str), "abc", '?');
…
g_free (reformatted);

Parameters

string_a nul-terminated array of bytes
validCharsbytes permitted in string
substitutorreplacement character for disallowed bytes

Returns

the modified string