Преобразование символов и строк
В этом разделе описаны функции для преобразования символов, строк и целых чисел друг в друга. format (см. Форматирование строк) и prin1-to-string (см. Функции вывода) также могут преобразовывать объекты Lisp в строки. read-from-string (см. Функции ввода) может преобразовывать строковое представление объекта Lisp в объект. Функции string-to-multibyte и string-to-unibyte преобразуют текстовое представление строки (см. Преобразование текстовых представлений).
См. Документация — там описаны функции, создающие текстовые описания текстовых символов и общих событий ввода (single-key-description и text-char-description). Они используются главным образом для создания справочных сообщений.
- Функция: number-to-string number
-
Эта функция возвращает строку, состоящую из десятичного представления числа number. Если аргумент отрицательный, возвращаемое значение начинается со знака минус.
(number-to-string 256) ⇒ "256"(number-to-string -23) ⇒ "-23"(number-to-string -23.5) ⇒ "-23.5"int-to-string— устаревающий псевдоним этой функции.См. также функцию
formatв разделе Форматирование строк.
- Функция: string-to-number string &optional base
-
Эта функция возвращает числовое значение символов в string. Если base не равно
nil, оно должно быть целым числом от 2 до 16 включительно, и целые числа преобразуются в этой системе счисления. Если base равноnil, используется десятичная система счисления. Преобразование чисел с плавающей точкой работает только в десятичной системе; другие основания для чисел с плавающей точкой не реализованы, поскольку это потребовало бы значительно больше усилий и, по-видимому, не принесло бы пользы.При разборе пропускаются пробелы и табуляции в начале string, после чего считывается максимально возможная часть string, которую можно интерпретировать как число в указанной системе счисления. (В некоторых системах в начале пропускаются и другие пробельные символы, а не только пробелы и табуляции.) Если string нельзя интерпретировать как число, эта функция возвращает 0.
(string-to-number "256") ⇒ 256 (string-to-number "25 is a perfect square.") ⇒ 25 (string-to-number "X256") ⇒ 0 (string-to-number "-4.5") ⇒ -4.5 (string-to-number "1e5") ⇒ 100000.0
- Функция: char-to-string character
-
Эта функция возвращает новую строку, содержащую один символ — character. Эта функция считается устаревающей, поскольку функция
stringимеет более широкие возможности. См. Создание строк.
- Функция: string-to-char string
Эта функция возвращает первый символ в string. По большей части она идентична
(aref string 0), но возвращает 0, если строка пуста. (Значение также равно 0, если первый символ в string — нулевой символ с кодом 0 в ASCII.) В будущем эта функция может быть удалена, если окажется, что она недостаточно полезна.
Вот ещё несколько функций, которые преобразуют строку или преобразуют данные из строки:
concat-
Эта функция преобразует вектор или список в строку. См. Создание строк.
vconcat-
Эта функция преобразует строку в вектор. См. Функции для работы с векторами.
append-
Эта функция преобразует строку в список. См. Создание cons-ячеек и списков.
byte-to-stringЭта функция преобразует байт символьных данных в однобайтовую строку. См. Преобразование текстовых представлений.
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/String-Conversion.html