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

Раздел описывает функции языка выражений, относящиеся к обработке строк.

Функция

Описание

Тип результата

Бэкенд-поддержка

Фронтенд-поддержка

char(Integer code[, String encoding])

Создает односимвольную строку с использованием указанного кода символа code. Используется кодировка encoding или UTF-8, если кодировка не указана.

String

Да

Нет

charAt(String string, Integer index)

Возвращает целочисленный код символа по указанному индексу index.

Integer

Да

Нет

concat(String string1 [, String String2, ...])

Сцепляет строки одну с другой. Параметры со значением null пропускаются. Если параметр является таблицей, все ее ячейки последовательно преобразуются в строки и сцепляются. Любые другие нестроковые параметры преобразуются в строки.

String

Да

Нет

contains(String string, String substring)

Возвращает true, только если строка содержит определенную подстроку.

Boolean

Да

Да

endsWith(String string, String suffix)

Возвращает true, если строка заканчивается на специальный суффикс. Результат будет true, если суффикс является пустой строкой или равен аргументу строки.

Boolean

Да

Да

format(String pattern, Object parameter1, ...)

Форматирует несколько параметров в строку, используя предоставленный образец. См. Форматирование общих объектов.

Совет: эта функция может быть использована для форматирования чисел в строки с использованием определенной системы счисления, т.е. шестнадцатеричной или двоичной. Например, format("%02x", 255) даст ff.

String

Да

Да

groups(String source, String regex)

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

Если найдена всего лишь одна группа, ее содержание возвращается в виде Строки. Если было найдено больше групп, эта функция возвращает Таблицу Данных с единственной записью и множеством строковых полей, содержащих значения всех групп.

Группа 0 (целое выражение) никогда не возвращается и не считается.

Object

Да

Да

isDigit(String character)

Возвращает true, если первый символ строки character является цифрой.

Boolean

Да

Да

isEmpty(String string)

Возвращает true, если строка string равна null или имеет нулевую длину.

Boolean

Да

Нет

isLetter(String character)

Возвращает true, если первый символ строки character является буквой.

Boolean

Да

Да

isLowerCase(String character)

Возвращает true, если первый символ строки character находится в нижнем регистре.

Boolean

Да

Да

isUpperCase(String character)

Возвращает true, если первый символ строки character находится в верхнем регистре.

Boolean

Да

Да

isWhitespace(String character)

Возвращает true, если первый символ строки character является пустой областью.

Boolean

Да

Да

index(String string, String substring [, Integer fromIndex])

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

Integer

Да

Да

lastIndex(String string, String substring, Integer fromIndex)

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

Integer

Да

Да

left(String string [, Integer charCount])

Возвращает первый символ или charCount начальных символов строки string.

String

Да

Нет

length(String string)

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

Integer

Да

Да

lower(String string)

Конвертирует все символы в строке в нижний регистр.

String

Да

Да

mid(String input, Integer beginIndex, Integer length)

Возвращает новую строку, которая является подстрокой входной строки input. Подстрока начинается с указанного индекса beginIndex (включительно) и имеет заданную длину length. Если beginIndex + length превышает длину входной строки, подстрока продолжается только до конца строки.

String

Да

Нет

replace(String string, String target, String replacement)

Заменяет каждую субстроку строки, которая совпадает с целевой субстрокой target заданной строкой replacement. Замещение происходит от начала строки к концу, например, замещение "aa" на "b" в строке "aaa" даст "ba", а не "ab".

String

Да

Да

replaceSmart(String string, String regex, String replacement)

Заменяет каждую подстроку строки, которая соответствует заданному регулярному выражению regex, на заданную строку replacement или в соответствии с ней.

Строка replacement может содержать ссылки на подпоследовательности, захваченные во время предыдущего совпадения: Каждое вхождение ${name} или $g будет заменено результатом вычисления соответствующей group(name) или group(g) соответственно. Для $g первое число после $ всегда рассматривается как часть ссылки на группу. Последующие числа включаются в g, если они образуют законную групповую ссылку. Только цифры от '0' до '9' рассматриваются как потенциальные компоненты групповой ссылки. Если вторая группа соответствует, например, строке "foo", то передача строки replacement "$2bar" приведет к тому, что к строке будет добавлено "foobar".

Обратите внимание, что обратные косые черты (\) и знаки доллара ($) в строке replacement могут привести к тому, что результаты будут отличаться от того, что было бы, если бы она рассматривалась как буквальная строка replacement. Используйте экранирование символов регулярных выражений, чтобы подавить особое значение этих символов, например, знак доллара ($) можно включить в строку замены как литерал, поставив перед ним обратную косую черту (\$).

String

Да

Нет

right(String string [, Integer charCount])

Возвращает последний символ или charCount конечных символов строки string.

String

Да

Нет

split(String string, String regex [, String fieldName [, Integer limit]])

Разбивает эту строку на совпадения данного регулярного выражения.

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

Параметр предел контролирует, сколько раз применяется шаблон, влияя на количество записей в результирующей таблице. Если предел n больше нуля, то образец будет применяться не чаще n - 1 раз, длина таблицы не будет больше, чем n, и последняя запись таблицы будет содержать весь ввод за пределами последнего подходящего символа-разграничителя. Если n не является положительным, то образец будет применяться столько раз, сколько это возможно, и таблица может иметь любую длину. Если n равен нулю (это значение по умолчанию), то образец будет применяться столько раз, сколько это возможно, таблица может иметь любую длину, и конечные пустые строки будут отброшены.

Результирующая таблица имеет единственное поле Строка под названием fieldName (по умолчанию - element). Значения в этом столбце представляют элементы исходящей строки.

Примеры:

split("boo:and:foo", ":", "field", 2) возвращает таблицу с двумя записями: "boo", "and:foo"

split("boo:and:foo", ":", "field", 5) возвращает таблицу с тремя записями: "boo", "and", "foo"

split("boo:and:foo", ":", "field", -2) возвращает таблицу с тремя записями: "boo", "and", "foo"

split("boo:and:foo", "o", "field", 5) возвращает таблицу с пятью записями: "b", "", ":and:f", "", ""

split("boo:and:foo", "o", "field", -2) возвращает таблицу с пятью записями: "b", "", ":and:f", "", ""

split("boo:and:foo", "o", "field", 0) возвращает таблицу с тремя записями: "b", "", ":and:f"

DataTable

Да

Да

startsWith(String string, String prefix)

Возвращает true, если строка начинается с заданного префикса. Имейте в виду, что вернется true, если префикс является пустой строкой или равен строке.

Boolean

Да

Да

substring(String string, Integer beginIndex [ , Integer endIndex])

Возвращает новую строку, которая является субстрокой строки. Субстрока начинается с символа, заданного beginIndex и заканчивается в конце строки символом endIndex – 1 или последним символом исходной строки, если параметр endIndex не указан.

Примеры: 

substring("unhappy", 2) вернет "happy"

substring("Harbison", 3) вернет "bison"

substring("emptiness", 9) вернет "" (пустую строку)

substring("hamburger", 4, 8) вернет "urge"

substring("smiles", 1, 5) вернет "mile"

String

Да

Да

trim(String string [, Boolean inside])

Возвращает копию строки без начального и конечного пробелов.  Если параметр inside равен true, также заменяет все цепочки неотображаемых символов, встречающиеся в строке, на одиночные пробелы.

String

Да

Да

upper(String string)

Конвертирует все символы в строке в верхний регистр.

String

Да

Да

urlDecode(String string, String encoding)

Декодирует строку application/x-www-form-urlencoded, используя специальную схему кодирования. Данное кодирование используется для определения символов, представленных любыми последовательностями формы %xy.

Примечание: Рекомендации Консорциума Всемирной Паутины утвержадют, что для кодирования нужно использовать UTF-8. Если этого не делать, может произойти несовместимость.

String

Да

Да

urlEncode(String string, String encoding)

Переводит строку в формат application/x-www-form-urlencoded с использованием специальной схемы кодирования. Этот метод использует данное кодирование с целью получения байтов для небезопасных символов.

Примечание: Рекомендации Консорциума World Wide Web утвержадют, что для кодирования нужно использовать UTF-8. Если этого не делать, может произойти несовместимость.

String

Да

Да

Was this page helpful?