Замена символа по коду
Следующие функции заменяют символы в заданном диапазоне на основе их кодов.
- Функция: subst-char-in-region start end old-char new-char &optional noundo
-
Эта функция заменяет все вхождения символа old-char символом new-char в области текущего буфера, определяемой start и end. Оба символа должны иметь одинаковую длину в многобайтовой форме.
Если noundo не равно
nil, тоsubst-char-in-regionне записывает изменение для отмены и не помечает буфер как изменённый. Это было полезно для управления старой функцией выборочного отображения (см. Выборочное отображение).subst-char-in-regionне перемещает точку и возвращает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 ----------
- Функция: subst-char-in-string fromchar tochar string &optional inplace
-
Эта функция заменяет все вхождения символа fromchar символом tochar в string. По умолчанию замена происходит в копии string, но если необязательный аргумент inplace не равен
nil, функция изменяет сам string. В любом случае функция возвращает результирующую строку.
- Команда: translate-region start end table
-
Эта функция применяет таблицу трансляции к символам в буфере между позициями start и end.
Таблица трансляции table — это строка или таблица символов;
(aref table ochar)возвращает символ, соответствующий ochar. Если table — строка, любые символы с кодами, превышающими длину table, не изменяются трансляцией.Возвращаемое значение
translate-region— количество символов, которые фактически были изменены трансляцией. Это не учитывает символы, которые были отображены в самих себя в таблице трансляции.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Substitution.html