Axiom Справочник языка

Глава 8

Обрезка, регистр и разворот

Текст, пришедший из ввода или из файла, часто содержит лишние пробелы по краям, а для сравнения его приходится приводить к одному регистру. Эти задачи решают TRIM, LTRIM, RTRIM, LCASE, UCASE и REVERSE. Все они возвращают новое строковое значение, не изменяя исходную строку, и различаются тем, с какого края и по какому правилу обрабатывается текст.

Выбор преобразования

TRIM, LTRIM и RTRIM удаляют заполнение у краёв строки, LCASE и UCASE меняют регистр, REVERSE меняет порядок кодов Unicode. Каждая функция ниже имеет собственный синтаксис и результат.

TRIM

Функция TRIM возвращает строку после удаления заданных символов с обоих краёв текста. Так убирают лишнее заполнение с обеих сторон, сохраняя содержимое строки. Вызов выполняется в выражении и не требует открытия экрана, холста или файла; исходные значения аргументов при этом не изменяются.

Синтаксис

Форма 1:

TRIM(<текст>)

Форма 2:

TRIM(<текст>, <символы>)

Аргументы

АргументЧто передать
<текст>Передайте исходную строку типа STRING, которую функция должна обработать.
<символы>Передайте строку типа STRING, перечисляющую удаляемые кодовые единицы UTF-16. Это набор отдельных символов, а не подстрока. Если аргумент отсутствует, удаляются пробельные символы, распознаваемые .NET.

Возвращаемое значение

Функция возвращает строку типа STRING после обрезки.

Правила и пограничные случаи

Пустой текст остаётся пустым. Пустой набор символов оставляет текст без изменения. Удаление продолжается до первого символа, который не входит в набор; внутри текста символы сохраняются. Форма без набора удаляет также табуляцию и другие пробельные символы, а не только обычный пробел.

Диагностика

Функция не имеет специальной ошибки для пустого текста или пустого набора. Неверные типы и число аргументов отклоняются при проверке программы.

Пример

PRINT "[" + TRIM("  A  ") + "]"
PRINT TRIM("--A--", "-")
PRINT "[" + TRIM("") + "]"

Программа выводит:

[A]
A
[]

LTRIM

Функция LTRIM возвращает строку после удаления заданных символов с начала текста. Так убирают лишнее заполнение с начала строки, сохраняя её содержимое. Вызов выполняется в выражении и не требует открытия экрана, холста или файла; исходные значения аргументов при этом не изменяются.

Синтаксис

Форма 1:

LTRIM(<текст>)

Форма 2:

LTRIM(<текст>, <символы>)

Аргументы

АргументЧто передать
<текст>Передайте исходную строку типа STRING, которую функция должна обработать.
<символы>Передайте строку типа STRING, перечисляющую удаляемые кодовые единицы UTF-16. Это набор отдельных символов, а не подстрока. Если аргумент отсутствует, удаляются пробельные символы, распознаваемые .NET.

Возвращаемое значение

Функция возвращает строку типа STRING после обрезки.

Правила и пограничные случаи

Пустой текст остаётся пустым. Пустой набор символов оставляет текст без изменения. Удаление продолжается до первого символа, который не входит в набор; внутри текста символы сохраняются. Форма без набора удаляет также табуляцию и другие пробельные символы, а не только обычный пробел.

Диагностика

Функция не имеет специальной ошибки для пустого текста или пустого набора. Неверные типы и число аргументов отклоняются при проверке программы.

Пример

PRINT "[" + LTRIM("  A  ") + "]"
PRINT LTRIM("--A--", "-")

Программа выводит:

[A  ]
A--

RTRIM

Функция RTRIM возвращает строку после удаления заданных символов с конца текста. Так убирают лишнее заполнение с конца строки, сохраняя её содержимое. Вызов выполняется в выражении и не требует открытия экрана, холста или файла; исходные значения аргументов при этом не изменяются.

Синтаксис

Форма 1:

RTRIM(<текст>)

Форма 2:

RTRIM(<текст>, <символы>)

Аргументы

АргументЧто передать
<текст>Передайте исходную строку типа STRING, которую функция должна обработать.
<символы>Передайте строку типа STRING, перечисляющую удаляемые кодовые единицы UTF-16. Это набор отдельных символов, а не подстрока. Если аргумент отсутствует, удаляются пробельные символы, распознаваемые .NET.

Возвращаемое значение

Функция возвращает строку типа STRING после обрезки.

Правила и пограничные случаи

Пустой текст остаётся пустым. Пустой набор символов оставляет текст без изменения. Удаление продолжается до первого символа, который не входит в набор; внутри текста символы сохраняются. Форма без набора удаляет также табуляцию и другие пробельные символы, а не только обычный пробел.

Диагностика

Функция не имеет специальной ошибки для пустого текста или пустого набора. Неверные типы и число аргументов отклоняются при проверке программы.

Пример

PRINT "[" + RTRIM("  A  ") + "]"
PRINT RTRIM("--A--", "-")

Программа выводит:

[  A]
--A

LCASE

Функция LCASE возвращает строку, преобразовав буквы в нижний регистр. Она нужна, когда текст требуется представить в одном регистре. Вызов выполняется в выражении и не требует открытия экрана, холста или файла; исходные значения аргументов при этом не изменяются.

Синтаксис

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

LCASE(<текст>)

Аргументы

АргументЧто передать
<текст>Передайте исходную строку типа STRING, которую функция должна обработать.

Возвращаемое значение

Функция возвращает строку типа STRING.

Правила и пограничные случаи

Преобразование использует неизменяемые правила культуры .NET и не зависит от региональных настроек пользователя. Пустая строка остаётся пустой. Символы без соответствующего регистра сохраняются.

Диагностика

Неверные типы и число аргументов отклоняются при проверке программы.

Пример

PRINT LCASE("ПрИвЕт")
PRINT "["+LCASE("")+"]"

Программа выводит:

привет
[]

UCASE

Функция UCASE возвращает строку, преобразовав буквы в верхний регистр. Она нужна, когда текст требуется представить в одном регистре. Вызов выполняется в выражении и не требует открытия экрана, холста или файла; исходные значения аргументов при этом не изменяются.

Синтаксис

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

UCASE(<текст>)

Аргументы

АргументЧто передать
<текст>Передайте исходную строку типа STRING, которую функция должна обработать.

Возвращаемое значение

Функция возвращает строку типа STRING.

Правила и пограничные случаи

Преобразование использует неизменяемые правила культуры .NET и не зависит от региональных настроек пользователя. Пустая строка остаётся пустой. Символы без соответствующего регистра сохраняются.

Диагностика

Неверные типы и число аргументов отклоняются при проверке программы.

Пример

PRINT UCASE("ПрИвЕт")
PRINT "["+UCASE("")+"]"

Программа выводит:

ПРИВЕТ
[]

REVERSE

Функция REVERSE возвращает строку с обратным порядком кодов Unicode. Она разворачивает последовательность символов, сохраняя целыми корректные суррогатные пары. Вызов выполняется в выражении и не требует открытия экрана, холста или файла; исходные значения аргументов при этом не изменяются.

Синтаксис

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

REVERSE(<текст>)

Аргументы

АргументЧто передать
<текст>Передайте исходную строку типа STRING, которую функция должна обработать.

Возвращаемое значение

Функция возвращает строку типа STRING.

Правила и пограничные случаи

Пустая строка остаётся пустой. Корректная суррогатная пара сохраняется целиком. Отдельные знаки ударения и части составных эмодзи меняют порядок независимо: функция не разворачивает строку по графемам. Изолированные кодовые единицы UTF-16 сохраняются без подмены.

Диагностика

Неверные типы и число аргументов отклоняются при проверке программы.

Пример

PRINT REVERSE("А😀Б")
PRINT "["+REVERSE("")+"]"

Программа выводит:

Б😀А
[]

См. также