Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Функции обработки строк






Функция chr

Получает буквенно-цифровой символ (строку из одного буквенно-цифрового символа) по коду действующей таблицы символов.

(chr < целое>)

Аргумент: целое число от 1 до 255. Если подается целое число вне указанного диапазона, то результат функции chr непредсказуем.

Тип возвращаемого значения: строковое.

Примеры:

· (chr 192) возвращает " А" (русская буква)

· (chr 224) возвращает " а" (русская буква)

· (chr 32) возвращает " " (пробел)

· (chr 48) возвращает " О"

· (chr 50) возвращает " 2"

Замечание

Заглавные русские буквы (А–Я) имеют коды 192–223, а строчные (а–я) — коды 224–255.

 

Функция ascii

Получает код первого символа строки текста по действующей таблице символов.

(ascii < строка>)

Тип аргумента: строковый.

Тип возвращаемого значения: целое.

Примеры:

· (ascii " А") возвращает 192 (А — русская буква)

· (ascii " А") возвращает 65 (А — латинская буква)

· (ascii " ABCD") возвращает 65 (все буквенно-цифровые символы, кроме первого, игнорируются)

· (ascii " ") возвращает 0

· (ascii " \" ") возвращает 34 (код двойной кавычки)

 

 

Функция read

Читает аргумент, являющийся строкой, до первого пробела (или до конца, если пробелов нет) и возвращает прочитанное значение как символ AutoLISP (т. е. имя Функции или переменной).

(read < строка>)

Если обнаружено число, то оно преобразуется из строкового представления в обычное. Если в начале строки-аргумента указана двойная кавычка, то читается строка-аргумент до закрывающей двойной кавычки и возвращается прочитанная между кавычками строка. Если в начале строки-аргумента находится открывающая круглая скобка, то читается строка-аргумент до закрывающей круглой скобки и возвращается прочитанный между скобками список.

Если строка-аргумент начинается с пробелов, то эти пробелы пропускаются до первого буквенно-цифрового символа, отличного от пробела. Если вся строка- аргумент состоит из пробелов, то возвращается nil.

Тип аргумента: строковый.

Тип возвращаемого значения: целое число, вещественное число, список или символ.

Примеры:

· (read " А") возвращает А (сравните с примером в РАЗД. 1.6.24)

· (read " А ") возвращает А

· (read " Р Q R") возвращает Р

· (read " 17.2") возвращает 17.2

· (read " 150 entry") возвращает 150

· (read " ") возвращает nil

· (read " (11 10 9 8)") возвращает (11 10 9 8)

· (read " \" Таблица\" \" Формула\" ") возвращает " Таблица"

 

 

Функция strcase

Преобразует строку в верхний или нижний регистр.

(strcase < строка> [< признак> ])

Аргумент < строка> — текстовая строка, символы которой нужно преобразовать. Если аргумент < признак> опущен или равен nil, то функция strcase выполняет преобразование всех буквенно-цифровых символов строки в верхний регистр. Если < признак> задан и его значение отлично от nul, то выполняется преобразование строки в нижний регистр.

Символы, отличные от букв (например, цифры, знаки препинания), не преобразуются.

Примеры:

· (strcase " Lower Corner 255") возвращает " LOWER CORNER 255"

· (strcase " Lower Corner 255" nil) возвращает " LOWER CORNER 255"

· (strcase " Lower Corner 255" т) возвращает " lower corner 255"

· (strcase " Lower Corner 255" 14) возвращает " lower corner 255" (аргумент < признак> имеет значение 14, что не равно nil, поэтому обрабатывается как т)

 

Функция strcat

Выполняет конкатенацию (сцепление) строк.

(strcat [< строка1> [< строка2>... [< строкаМ> ]...]])

Тип аргументов: строковый.

Если аргументы не заданы, то возвращается пустая строка (" ")

Примеры:

· (strcat " Happy N" " ew " " Year") возвращает " Happy New Year"

· (strcat (itoa 7) " -я линия") возвращает " 7-я линия"

· (strcat " Петербург") возвращает " Петербург"

· (strcat) возвращает " "

Функция strlen

Вычисляет суммарную длину всех строк-аргументов (длина строки — это количество символов2 в строке).

(strlen [< строка1> [< строка2>... [< строкаЫ> ]... ]])

Тип аргументов — строковый. Если аргументы не заданы, то возвращается о. Примеры:

· (strlen " Happy N" " ew " " Year") возвращает 14

· (strlen (itoa 7) " -я линия") возвращает 9

· (strlen " Петербург") возвращает 9

· (strlen) возвращает 0

Функция substr

Выделяет подстроку, начиная с заданной позиции.

(substr < строка> < начало> [< количество> ])

Аргументы: < строка> — строка, из которой нужно выделить подстроку; < начало> — номер буквенно-цифрового символа в строке, с которого нужно начать выделение подстроки; < количество> — количество символов, которое нужно включить в подстроку. Аргумент < начало> — целое число (не меньше 1); номером 1 обозначается первый символ аргумента < строка>. Аргумент < количество> — целое число; если аргумент < количество> не указан или задан большим, чем осталось в анализируемой строке, начиная с позиции < начало>, то возвращается полный остаток аргумента < строка> от заданного места.

Если аргумент < количество> равен 0, то функция substr возвращает " ".

Примеры:

· (substr " Happy New Year" 11 2) возвращает " Ye"

· (substr " Happy New Year" 7) возвращает " New Year"

· (substr " Happy New Year" 7 23) возвращает " New Year"

· (substr " Happy" 7 3) возвращает " "

· (substr " Happy" 3 0) возвращает " "

 

 

Функция vl-string-position

Ищет буквенно-цифровой знак с определенным кодом в строке, начиная с заданной позиции (возможен поиск с конца строки).

(vl-string-position < код> < строка> [< начало> [< обратно> ]])

Аргументы: < код> — код (положительное целое число), с которым разыскивается буквенно-цифровой символ; < строка> - анализируемая строка; < начало> - номер позиции, начиная с которого анализируется строка (первый символ строки имеет номер 0); < обратно> — признак поиска с конца строки (если не nil, то поиск идет с конца).

Возвращаемое значение - число, являющееся номером позиции первого найденного в аргументе < строка> символа с заданным кодом. Если требуемый символ не обнаружен, то возвращается nil.

Примеры:

· (vl-string-position 49 " 1111" 0) возвращает 0

· (vl-string-position 49 " 1111" 1) возвращает 1

· (vl-string-position 49 " 1111" 1 т) возвращает 3

· (vl-string-position 53 " 1111") возвращает nil

· (vl-string-position (ascii " о") " Moscow") возвращает 1

· (vl-string-position (ascii " о") " Moscow" 0 т) возвращает 4

 

Функция vl-string-search

Ищет заданную последовательность буквенно-цифровых символов (образец) в строке, начиная с заданной позиции.

(vl-string-search < образец> < строка> [< начало> ])

Аргументы: < образец> И < строка> — текстовые строки; < начало> — номер позиции, с которой начинается анализ аргумента < строка> (по умолчанию — 0). Отсчет позиций в строке начинается с 0.

Возвращаемое значение— целое число с номером позиции, начиная с которой обнаружено присутствие аргумента < образец> в аргументе < строка>. Если < образец> не обнаружен, то возвращается nil.

Примеры:

· (vl-string-search " in" " Training") возвращает 3

· (vl-string-search " IN" " Training") возвращает nil

· (vl-string-search " in" " Training" 4) возвращает 5

· (vl-string-search " in" " Training" 6) возвращает nil

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.009 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал