Сравнение текста
Эта функция позволяет сравнивать части текста в буфере, не копируя их сначала в строки.
- Функция: compare-buffer-substrings buffer1 start1 end1 buffer2 start2 end2
Эта функция позволяет сравнивать две подстроки одного буфера или двух разных буферов. Первые три аргумента задают одну подстроку, указывая буфер (или имя буфера) и две позиции в буфере. Последние три аргумента задают другую подстроку аналогичным образом. Вы можете использовать
nilдля buffer1, buffer2 или обоих, чтобы обозначить текущий буфер.Значение отрицательно, если первая подстрока меньше, положительно, если первая больше, и равно нулю, если они равны. Абсолютное значение результата равно единице плюс индекс первого отличающегося символа в подстроках.
Эта функция игнорирует регистр при сравнении символов, если
case-fold-searchнеnil. Она всегда игнорирует свойства текста.Предположим, в текущем буфере есть текст ‘foobarbar haha!rara!’; тогда в этом примере две подстроки — ‘rbar ’ и ‘rara!’. Значение равно 2, потому что первая подстрока больше во втором символе.
(compare-buffer-substrings nil 6 11 nil 16 21) ⇒ 2
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/Comparing-Text.html