Valadoc | Vala | Tutorial | API-References | Markup

replace


Description:

public string replace (string str, ssize_t string_len, int start_position, string replacement, RegexMatchFlags match_options = 0) throws RegexError

Replaces all occurrences of the pattern in regex with the replacement text. Backreferences of the form '\number' or '\g<number>' in the replacement text are interpolated by the number-th captured subexpression of the match, '\g<name>' refers to the captured subexpression with the given name. '\0' refers to the complete match, but '\0' followed by a number is the octal representation of a character. To include a literal '\' in the replacement, write '\\'. There are also escapes that changes the case of the following text:

\l Convert to lower case the next character
\u Convert to upper case the next character
\L Convert to lower case till \E
\U Convert to upper case till \E
\E End case modification

If you do not need to use backreferences use g_regex_replace_literal().

The replacement string must be UTF-8 encoded even if G_REGEX_RAW was passed to g_regex_new(). If you want to use not UTF-8 encoded stings you can use g_regex_replace_literal().

Setting start_position differs from just passing over a shortened string and setting G_REGEX_MATCH_NOTBOL in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b".

Parameters:

regex a GRegex structure
string the string to perform matches against. [array length=string_len]
string_len the length of string, or -1 if string is nul-terminated
start_position starting index of the string to match
replacement text to replace each match with
match_options options for the match
error location to store the error occuring, or NULL to ignore errors

Returns:

a newly allocated string containing the replacements