diff lispref/searching.texi @ 65122:04a0656bc67c

(Search and Replace): Add replace-regexp-in-string.
author Richard M. Stallman <rms@gnu.org>
date Thu, 25 Aug 2005 11:05:31 +0000
parents 3e6c73954fda
children 54da3e88d8f6 2d92f5c9d6ae
line wrap: on
line diff
--- a/lispref/searching.texi	Thu Aug 25 11:04:38 2005 +0000
+++ b/lispref/searching.texi	Thu Aug 25 11:05:31 2005 +0000
@@ -1147,6 +1147,25 @@
 @section Search and Replace
 @cindex replacement
 
+@defun replace-regexp-in-string regexp rep string &optional fixedcase literal subexp start
+This function copies @var{string} and searches it for matches for
+@var{regexp}, and replaces them with @var{rep}.  It returns the
+modified copy.  If @var{start} is non-@code{nil}, the search for
+matches starts at that index in @var{string}, so matches starting
+before that index are not changed.
+
+This function uses @code{replace-match} to do the replacement, and it
+passes the optional arguments @var{fixedcase}, @var{literal} and
+@var{subexp} along to @code{replace-match}.
+
+Instead of a string, @var{rep} can be a function.  In that case,
+@code{replace-regexp-in-string} calls @var{rep} for each match,
+passing the text of the match as its sole argument.  It collects the
+value @var{rep} returns and passes that to @code{replace-match} as the
+replacement string.  The match-data at this point are the result
+of matching @var{regexp} against a substring of @var{string}.
+@end defun
+
 @defun perform-replace from-string replacements query-flag regexp-flag delimited-flag &optional repeat-count map start end
 This function is the guts of @code{query-replace} and related
 commands.  It searches for occurrences of @var{from-string} in the