This function replaces the text matched by the last search with replacement.
If you did the last search in a buffer, you should specify nil
for string. Then replace-match
does the replacement by
editing the buffer; it leaves point at the end of the replacement text,
and returns t
.
If you did the search in a string, pass the same string as string.
Then replace-match
does the replacement by constructing and
returning a new string.
If fixedcase is non-nil
, then the case of the replacement
text is not changed; otherwise, the replacement text is converted to a
different case depending upon the capitalization of the text to be
replaced. If the original text is all upper case, the replacement text
is converted to upper case. If the first word of the original text is
capitalized, then the first word of the replacement text is capitalized.
If the original text contains just one word, and that word is a capital
letter, replace-match
considers this a capitalized first word
rather than all upper case.
If case-replace
is nil
, then case conversion is not done,
regardless of the value of fixed-case. See section Searching and Case.
If literal is non-nil
, then replacement is inserted
exactly as it is, the only alterations being case changes as needed.
If it is nil
(the default), then the character `\' is treated
specially. If a `\' appears in replacement, then it must be
part of one of the following sequences:
If subexp is non-nil
, that says to replace just
subexpression number subexp of the regexp that was matched, not
the entire match. For example, after matching `foo \(ba*r\)',
calling replace-match
with 1 as subexp means to replace
just the text that matched `\(ba*r\)'.
Go to the first, previous, next, last section, table of contents.