` | PARSER | документация |

parser

faqfaq
авторыавторы
документациядокументация

в действиив действии
куда говоритькуда говорить
жаргонжаргон

скачатьскачать

примерыпримеры
форумфорум

документация

3. Операторы Парсера

3.7. Строки

3.7.1. Получение длины строки. Оператор length

Формат вызова

^length[строка]

Аргументы

строка — строка, длину которой нужно определить.

Описание

Оператор возвращает длину строки.

Примеры

Вызов ^length[12345678] вернет 8.

3.7.2. Выделение подстроки слева. Оператор left

Формат вызова

^left[строка;длина_подстроки]

Аргументы

строка — строка, левую часть которой нужно получить.

длина_подстроки — количество символов в выделяемой левой части.

Описание

Оператор возвращает указанное количество первых символов строки. Если длина строки меньше, возвращается вся исходная строка.

Примеры

Вызов
^left[И он к устам моим приник и вырвал грешный мой язык;33]

вернет
И он к устам моим приник и вырвал

3.7.3. Выделение подстроки справа. Оператор right

Формат вызова

^right[строка;длина_подстроки]

Аргументы

строка — строка, правую часть которой нужно получить.

длина_подстроки — количество символов в выделяемой правой части.

Описание

Оператор возвращает указанное количество последних символов строки. Если длина строки меньше, возвращается вся исходная строка.

Примеры

Вызов ^right[перестройка;7] вернет стройка.

3.7.4. Выделение подстроки в середине. Оператор mid

Формат вызова

^mid[строка;p;n]

Аргументы

строка — строка.

n — позиция первого символа выделяемой подстроки.

p — длина выделяемой подстроки.

Описание

Оператор возвращает N символов строки, начиная с позиции P (позиции отсчитываются с нуля). Если P меньше 0, то будет возвращено N+P первых символов строки. Если P+N больше длины строки, то будут возвращены все символы строки, начиная с позиции P.

Примеры

Вызов ^mid[перестройка;4;5] вернет строй.

Вызов ^mid[перестройка;-2;11] вернет перестрой.

3.7.5. Поиск подстроки в строке. Оператор findstr

Формат вызова

^findstr[подстрока;строка]

Аргументы

строка — строка, в которой проводится поиск.

подстрока — подстрока, которую нужно найти в строке.

Описание

Оператор возвращает позицию первого символа подстроки в строке. Позиции отсчитываются с нуля. Если подстрока не найдена, оператор возвращает -1.

Примеры

Вызов ^findstr[арест;Бухарест] вернет 3.

Вызов ^findstr[иголка;стог сена] вернет -1.

3.7.6. Получение символа по ASCII-коду. Оператор char

Формат вызова

^char[ASCII-код]

Аргументы

ASCII-код — десятичный код символа.

Описание

Оператор возвращает символ с указанным десятичным ASCII-кодом.

Примеры

Вызов ^char[49] вернет 1.

3.7.7. Получение ASCII-кода символа. Оператор ascii

Формат вызова

^ascii[символ]

Аргументы

символ — символ, ASCII-код которого нужно получить.

Описание

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

Примеры

Вызов ^ascii[1] вернет 49.

3.7.8. Разбиение строки на подстроки слева направо. Оператор lsplit

Формат вызова

^lsplit[строка;разделитель]

Аргументы

строка — строка, подстроки которой нужно записать в таблицу.

разделитель — символ, разделяющий подстроки.

Описание

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

Замечание. Аргументы обрабатываются на уровне config (см. п. 1.6).

Примеры

^lsplit[Иванов/12.02.70/ivanov@domain.com;/]
Фамилия: ^item[0]<BR>
День рождения: ^item[1]<BR>
E-mail: ^item[2]

3.7.9. Разбиение строки на подстроки справа налево. Оператор rsplit

Формат вызова

^rsplit[строка;разделитель]

Аргументы

строка — строка, подстроки которой нужно записать в таблицу.

разделитель — символ, разделяющий подстроки.

Описание

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

Замечание. Аргументы обрабатываются на уровне config (см. п. 1.6).

Примеры

^lsplit[rabinovich@domain.com/03.07.70/Рабинович;/]
Фамилия: ^item[0]<BR>
День рождения: ^item[1]<BR>
E-mail: ^item[2]

3.7.10. Преобразование к верхнему регистру. Оператор toupper

Формат вызова

^toupper[строка]

Аргументы

cтрока — строка, которую нужно преобразовать к верхнему регистру.

Описание

Оператор преобразует все буквы указанной строки в прописные и возвращает полученную строку.

Примеры

Вызов ^toupper[Всем привет!] вернет ВСЕМ ПРИВЕТ!

3.7.11. Преобразование к нижнему регистру. Оператор tolower

Формат вызова

^tolower[строка]

Аргументы

cтрока — строка, которую нужно преобразовать к нижнему регистру.

Описание

Оператор преобразует все буквы указанной строки в строчные и возвращает полученную строку.

Примеры

Вызов ^tolower[Всем привет!] вернет всем привет!

3.7.12. Обрезка строки. Оператор truncate

Формат вызова

^truncate[текст;длина]

Аргументы

строка — строка, которую нужно обрезать.

длина — требуемая длина строки.

Описание

Оператор укорачивает переданную строку, если количество символов в ней превышает указанную длину. В конце укороченной строки добавляются три точки, которые при вычислении длины строки не учитываются.

Примеры

Вызов
^truncate[Вхожу я в контору, а там меня поджидает мешок с деньгами;24]

вернет строку
Вхожу я в контору, а там....

3.7.13. Преобразование служебных символов в теги. Оператор unescape_br

Формат вызова

^unescape_br[текст]

Аргументы

текст — текст, в котором нужно преобразовать служебные символы в теги HTML.

Описание

Оператор заменяет в тексте одинарные символы перевода строки тегом <BR>, а двойные — тегом <P>.

Примеры

Вызов

^unescape_br[первая строка
вторая строка

третья строка
]

вернет: первая строка<BR>вторая строка<P>третья строка.


E-mail: mailbox@parser.ruCopyright © 1997-2001 Студия Артемия Лебедева
`