The following functions replace characters within a specified region based on their character codes.
This function replaces all occurrences of the character old-char with the character new-char in the region of the current buffer defined by start and end. Both characters must have the same length of their multibyte form.
If noundo is non-nil
, then subst-char-in-region
does
not record the change for undo and does not mark the buffer as modified.
This was useful for controlling the old selective display feature
(see Selective Display).
subst-char-in-region
does not move point and returns
nil
.
---------- Buffer: foo ---------- This is the contents of the buffer before. ---------- Buffer: foo ----------
(subst-char-in-region 1 20 ?i ?X) ⇒ nil ---------- Buffer: foo ---------- ThXs Xs the contents of the buffer before. ---------- Buffer: foo ----------
This function replaces all occurrences of the character fromchar
with tochar in string. By default, substitution occurs in
a copy of string, but if the optional argument inplace is
non-nil
, the function modifies the string itself. In any
case, the function returns the resulting string.
This function applies a translation table to the characters in the buffer between positions start and end.
The translation table table is a string or a char-table;
(aref table ochar)
gives the translated character
corresponding to ochar. If table is a string, any
characters with codes larger than the length of table are not
altered by the translation.
The return value of translate-region
is the number of
characters that were actually changed by the translation. This does
not count characters that were mapped into themselves in the
translation table.