Здесь показаны различия между двумя версиями данной страницы.
Следущая версия | Предыдущая версия | ||
help:stroki [2013/10/10 06:37] newsash создано |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | =====Строки===== | ||
- | |||
- | DISABLESUBEX - если значение переменной не равно 0, то запрещает использование "подвыражений" в тексте (например, значением '<<5+6>>' будет строка '<<5+6>>', а не '11'). | ||
- | |||
- | LEN([$выражение]) - возвращает длину строки [$выражение]. | ||
- | |||
- | |||
- | |||
- | MID([$выражение],[#выражение 1],[#выражение 2]) - вырезает из строки [$выражение] строку, которая начинается с символа номер [#выражение 1] и имеет длину [#выражение 2]. Индексация символов в строке ведётся с 1. | ||
- | |||
- | Параметр [#выражение 2] может отсутствовать, при этом вырезается вся строка, начиная с символа [#выражение 1]. Примеры: | ||
- | |||
- | |||
- | |||
- | MID('abcd', 1, 2) равно 'ab' | ||
- | |||
- | MID('abcd', 2, 3) равно 'bcd' | ||
- | |||
- | MID('abcd', 2) равно 'bcd' | ||
- | |||
- | |||
- | |||
- | UCASE([$выражение]) - возвращает строку больших букв, полученную изменением регистра букв исходной строки [$выражение]. Пример: | ||
- | |||
- | |||
- | |||
- | UCASE('TexT#') равно 'TEXT#' | ||
- | |||
- | |||
- | |||
- | LCASE([$выражение]) - возвращает строку маленьких букв, полученную изменением регистра букв исходной строки [$выражение]. Пример: | ||
- | |||
- | |||
- | |||
- | LCASE('TExT#') равно 'text#' | ||
- | |||
- | |||
- | |||
- | TRIM([$выражение]) - удаляет прилегающие пробелы и символы табуляции из [$выражение]. Затем возвращает полученную строку. Пример: | ||
- | |||
- | |||
- | |||
- | TRIM(' TRIM TEST ') равно 'TRIM TEST' | ||
- | |||
- | |||
- | |||
- | REPLACE([$выражение 1],[$выражение 2],[$выражение 3]) - заменяет в строке [$выражение 1] все вхождения строки [$выражение 2] строкой [$выражение 3]. Если [$выражение 3] отсутствует или указана пустая строка, то удаляет в исходной строке все вхождения искомой строки. Примеры: | ||
- | |||
- | |||
- | |||
- | REPLACE('test', '12', '4') равно 'test' | ||
- | |||
- | REPLACE('test', 'e', 's') равно 'tsst' | ||
- | |||
- | REPLACE('test', 't', '34') равно '34es34' | ||
- | |||
- | REPLACE('test', 't') равно 'es' | ||
- | |||
- | |||
- | |||
- | INSTR([#выражение 1],[$выражение 2],[$выражение 3]) - возвращает номер позиции символа, с которого начинается вхождение строки [$выражение 3] в строку [$выражение 2] (или 0, если такой строки нет). Поиск начинается с символа номер [#выражение 1]. Параметр [#выражение 1] может отсутствовать, при этом он принимается равным 1. Примеры: | ||
- | |||
- | |||
- | |||
- | INSTR(1,'ABCDefgh','BC') равно 2 | ||
- | |||
- | INSTR(1,'ABCDefgh','Be') равно 0 | ||
- | |||
- | INSTR('abcdef','abc') равно 1 | ||
- | |||
- | |||
- | |||
- | ISNUM([$выражение]) - функция проверяет, все ли символы в строке являются цифрами (учитывая знак "-" в начале, прилегающие пробелы и символы табуляции). Если в указанной строке есть хотя бы один символ - не-цифра (исключая возможный "-" в начале и прилегающие пробелы / символы табуляции), то функция возвращает 0 (ложь), иначе -1 (истина). | ||
- | |||
- | Функция полезна при проверке введённой играющим строки на число. Примеры: | ||
- | |||
- | |||
- | |||
- | ISNUM('9999 ') равно -1 | ||
- | |||
- | ISNUM(' -888') равно -1 | ||
- | |||
- | ISNUM('777a6') равно 0 | ||
- | |||
- | |||
- | |||
- | VAL([$выражение]) - переводит строку цифр [$выражение] в соответствующее число. Если [$выражение] равно '' (пустая строка) или если оно содержит не-цифры, то возвращается 0. | ||
- | |||
- | |||
- | |||
- | STR([#выражение]) - переводит число (числовое выражение) [#выражение] в соответствующую строку. Например, | ||
- | |||
- | |||
- | |||
- | PL STR(56) | ||
- | |||
- | |||
- | |||
- | выведет строку "56". | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | STRCOMP([$выражение],[$шаблон]) - проводит сравнение строки [$выражение] на соответствие регулярному выражению [$шаблон]. Возвращает -1, если строка соответствует шаблону, иначе 0. Сравни с функцией "STRFIND". | ||
- | |||
- | |||
- | |||
- | STRFIND([$выражение],[$шаблон],[#номер]) - возвращает подстроку в строке [$выражение], соответствующую группе с номером [#номер] регулярного выражения [$шаблон]. Если подстрока с указанным номером отсутствует, то возвращается пустая строка. Нумерация групп подстрок начинается с 1. Если параметр [#номер] отсутствует или равен 0, то возвращается подстрока, соответствующая всему регулярному выражению [$шаблон]. Примеры: | ||
- | |||
- | |||
- | |||
- | STRFIND(' идти к пещере', '^(\S+)\s(\S+)\s(\S+)$', 0) = '' | ||
- | |||
- | STRFIND('идти к пещере', '^(\S+)\s(\S+)\s(\S+)$', 1) = 'идти' | ||
- | |||
- | STRFIND('идти к пещере', '^(\S+)\s(\S+)\s(\S+)$', 2) = 'к' | ||
- | |||
- | STRFIND('идти к пещере', '^(\S+)\s(\S+)\s(\S+)$', 3) = 'пещере' | ||
- | |||
- | STRFIND('идти к пещере', '^(\S+)\s(\S+)(\s(\S+))?$', 4) = 'пещере' | ||
- | |||
- | STRFIND('искать ключ', '^(\S+)\s(\S+)(\s(\S+))?$', 1) = 'искать' | ||
- | |||
- | STRFIND('искать', '^(\S+)\s(\S+)(\s(\S+))?$', 0) = '' | ||
- | |||
- | STRFIND('искать', '^(\S+)\s(\S+)(\s(\S+))?$', 1) = '' | ||
- | |||
- | STRFIND('искать', '^(\S+)(\s(\S+)(\s(\S+))?)?$', 1) = 'искать' | ||
- | |||
- | STRFIND('идти к дому', 'к\s(\S+)', 0) = 'к дому' | ||
- | |||
- | STRFIND('идти к дому', 'к\s(\S+)') = 'к дому' | ||
- | |||
- | STRFIND('идти к дому', 'к\s(\S+)', 1) = 'дому' | ||
- | |||
- | STRFIND('идти к своему дому', 'к\s(\S+)', 1) = 'своему' | ||
- | |||
- | |||
- | |||
- | STRPOS([$выражение],[$шаблон],[#номер]) - возвращает позицию символа, с которого начинается вхождение подстроки в строке [$выражение], соответствующей группе с номером [#номер] регулярного выражения [$шаблон]. Если подстрока с указанным номером отсутствует, то возвращается 0. Нумерация групп подстрок начинается с 1. Если параметр [#номер] отсутствует или равен 0, то возвращается позиция символа, с которого начинается вхождение подстроки, соответствующей всему регулярному выражению [$шаблон]. | ||
- | |||
- | Примеры: | ||
- | |||
- | |||
- | |||
- | STRPOS(' идти к пещере', '^(\S+)\s(\S+)\s(\S+)$', 0) = 0 | ||
- | |||
- | STRPOS('идти к пещере', '^(\S+)\s(\S+)\s(\S+)$', 1) = 1 | ||
- | |||
- | STRPOS('идти к пещере', '^(\S+)\s(\S+)\s(\S+)$', 2) = 6 | ||
- | |||
- | STRPOS('идти к пещере', '^(\S+)\s(\S+)\s(\S+)$', 3) = 8 | ||
- | |||
- | STRPOS('идти к пещере', '^(\S+)\s(\S+)(\s(\S+))?$', 4) = 8 | ||
- | |||
- | STRPOS('искать ключ', '^(\S+)\s(\S+)(\s(\S+))?$', 1) = 1 | ||
- | |||
- | STRPOS('искать', '^(\S+)\s(\S+)(\s(\S+))?$', 0) = 0 | ||
- | |||
- | STRPOS('искать', '^(\S+)\s(\S+)(\s(\S+))?$', 1) = 0 | ||
- | |||
- | STRPOS('искать', '^(\S+)(\s(\S+)(\s(\S+))?)?$', 1) = 1 | ||
- | |||
- | STRPOS('идти к дому', 'к\s(\S+)', 0) = 6 | ||
- | |||
- | STRPOS('идти к дому', 'к\s(\S+)') = 6 | ||
- | |||
- | STRPOS('идти к дому', 'к\s(\S+)', 1) = 8 | ||
- | |||
- | STRPOS('идти к своему дому', 'к\s(\S+)', 1) = 8 | ||
- | |||
- | |||
- | |||
- | Также см. раздел "Использование регулярных выражений". | ||
- | |||
- | |||