Строковые функции

From SunFlurry wiki
Revision as of 13:45, 22 August 2020 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  Строковые функции
Статус разработки: Реализован

Строковые функции работают со строками, их модификацией и превращением в разные кодировки и пр. Важно понимать, что в системе есть два вида строковых объектов -- однобайтовый (ANSI) и многобайтовый (Unicode). Более подробно см. Строки.

Основные функции

Идентификатор Статус Тип Визуальная Параметры Описание
Str Реализована Функция Str(<Аргумент>,<Тип>=0):<Строковое представление (STRING)> Превращение объекта в строковое представление с возможностью указания типа получаемой строки.
StringTypeStr Реализована Функция StringTypeStr(<Аргумент>):<Тип строкового аргумента (STRING)> Функция возвращает строку "ANSI", в случае, если строковое представление аргумента использует однобайтовую кодировку (ANSI), иначе будет возвращена строка "UNICODE"
Length Реализована Функция Length(<Аргумент>):<Длина строки в символах (INT)> Нахождение длины строки
IsBlankString Реализована Функция IsBlankString(<Аргумент>):<1 или 0 (INT)> Функция проверяет, является ли аргумент пустой строкой (в строке позволяются пробелы, знаки табуляции и знаки перевода строки)
TrimL Реализована Функция TrimL(<Аргумент>):<Результат (STRING)> Функция убирает пробелы, знаки табуляции и знаки переноса строки с начала строки строкового аргумента.
TrimR Реализована Функция TrimR(<Аргумент>):<Результат (STRING)> Функция убирает пробелы, знаки табуляции и знаки переноса строки с конца строки строкового аргумента.
Trim Реализована Функция Trim(<Аргумент>):<Результат (STRING)> Функция убирает пробелы, знаки табуляции и знаки переноса строки с начала и с конца строки строкового аргумента.
Left Реализована Функция Left(<Аргумент>,<Количество символов (INT)>):<Результат (STRING)> Функция получает левую часть строки аргумента с указанным размером
Right Реализована Функция Right(<Аргумент>,<Количество символов (INT)>):<Результат (STRING)> Функция получает правую часть строки аргумента с указанным размером
Mid Реализована Функция Mid(<Аргумент>,<Индекс начального символа (INT)>,<Количество символов (INT)>):<Результат (STRING)> Функция получает произвольную часть строки аргумента
Pos Реализована Функция Pos(<Подстрока поиска>,<Строка в которой происходит поиск>,<Индекс начального символа (INT)>):<Индекс в строке поиска (INT)> Находит вхождение подстроки в указанную строку поиска, начиная с указанной позиции, если подстрока не найдена, возвращает ноль
PosNoCase Планируется Функция PosNoCase(<Подстрока поиска>,<Строка в которой происходит поиск>,<Индекс начального символа (INT)>):<Индекс в строке поиска (INT)> Находит вхождение подстроки в указанную строку поиска, начиная с указанной позиции, если подстрока не найдена, возвращает ноль. Поиск ведется без учета регистра
RightPos Реализована Функция RightPos(<Подстрока поиска>,<Строка в которой происходит поиск>,<Индекс начального символа (INT)>):<Индекс в строке поиска (INT)> Находит вхождение подстроки в указанную строку поиска, начиная с указанной позиции, если подстрока не найдена, возвращает ноль. Поиск производится справа-налево.
RightPosNoCase Планируется Функция RightPosNoCase(<Подстрока поиска>,<Строка в которой происходит поиск>,<Индекс начального символа (INT)>):<Индекс в строке поиска (INT)> Находит вхождение подстроки в указанную строку поиска, начиная с указанной позиции, если подстрока не найдена, возвращает ноль. Поиск производится справа-налево. Поиск ведется без учета регистра
Replace Реализована Функция Replace(<Строка в которой происходит замена>,<Подстрока поиска>,<Подстрока замены>):<Результат (STRING)> Заменяет все вхождения строки второго аргумента в строке первого аргумента на строку третьего аргумента. Третий аргумент может содержать в себе строку второго аргумента.
ReplaceNoCase Планируется Функция ReplaceNoCase(<Строка в которой происходит замена>,<Подстрока поиска>,<Подстрока замены>):<Результат (STRING)> Заменяет все вхождения строки второго аргумента в строке первого аргумента на строку третьего аргумента. Третий аргумент может содержать в себе строку второго аргумента. Поиск ведется без учета регистра
RepeatStr Реализована Функция RepeatStr(<Аргумент>,<Количество повторений (INT)>):<Результат (STRING)> Повторяет строковое представление аргумента указанное количество раз
Reverse Реализована Функция Reverse(<Аргумент>):<Результат (STRING)> Получает строку набранную с конца до начала строкого представления аргумента
StrCount Реализована Функция StrCount(<Подстрока поиска>,<Строка в которой происходит поиск>):<Количество вхождений (INT)> Находит количество вхождений подстроки поиска в строку, представленную вторым аргументом. После нахождения вхождения индекс поиска сдвигается на размер строки поиска.
LinesCount Реализована Функция LinesCount(<Аргумент>):<Количество строк (INT)> Находит количество вхождений знака перевода строки в строковое представление аргумента и увеличивает результат на единицу
GetLine Реализована Функция GetLine(<Аргумент>,<Номер строки (INT)>):<Результат (STRING)> В строковом представлении аргумента, разделенного знаками перевода строки, находит и возвращает подстроку с указанным индексом.
UpperCase Реализована Функция UpperCase(<Аргумент>):<Результат (STRING)> Возвращает строковое представление аргумента, переведенное в верхний регистр
LowerCase Реализована Функция LowerCase(<Аргумент>):<Результат (STRING)> Возвращает строковое представление аргумента, переведенное в нижний регистр
Capitalize Реализована Функция Capitalize(<Аргумент>):<Результат (STRING)> Функция возвращает строковое представление аргумента, переводя первый его символ в верхний регистр.
RemoveNonPrintableChars Реализована Функция RemoveNonPrintableChars(<Аргумент>,<Оставить символы перевода строки (INT)>=0):<Результат (STRING)> Удаляет из текстового представления аргумента непечатные символы (символы с кодом <32), оставляя символы перевода строки при необходимости
Chr Реализована Функция Chr(<Код символа (INT)>,<Тип (INT)>=0):<Символ (STRING)> Возвращает строку, состоящую из одного символа по указанному коду в ANSI или UTF-16 кодировке.
Asc Реализована Функция Asc(<Аргумент>):<Код символа (INT)> Возвращает код первого символа строкового представления аргумента.
ContainsOnlyCharacters Реализована Функция ContainsOnlyCharacters(<Аргумент>,<Набор символов>):<0 или 1 (INT)> Проверяет, содержит ли строковое представление первого аргумента только символы, указанные в строковом представлении второго аргумента.
CompareStrings Реализована Функция CompareStrings(<Аргумент 1>,<Аргумент 2>,<Метод (INT)>=1,<Ошибка>=""):<0, 1 или -1 (INT)> Сравнивает две строки, используя указанный метод, возвращает -1, если первая строка меньше второй, 0, если строки равны и 1 в ином случае.
IsUnicode Реализована Функция IsUnicode(<Аргумент>):<0 или 1 (INT)> Проверяет, является ли строковое представление аргумента строкой UTF-16 или ANSI (см. Строки)
Unicode Реализована Функция Unicode(<Аргумент>):<Результат (STRING)> Безусловно переводит строковое представление аргумента в строку UTF-16
UnicodeToUTF8 Реализована Функция UnicodeToUTF8(<Аргумент>):<Результат (STRING)> Превращает строковое представление аргумента (не обязательно строку в формате UTF-16) в строку ANSI с закодированным текстом в формате UTF-8
UTF8ToUnicode Реализована Функция UTF8ToUnicode(<Аргумент>):<Результат (STRING)> Превращает перекодирует результат из формата UTF-8 в формат UTF-16.
Ansi Реализована Функция Ansi(<Аргумент>):<Результат (STRING)> Безусловно переводит строковое представление аргумента в строку ANSI, используя системную кодовую страницу.
OemToAnsi Реализована Функция OemToAnsi(<Аргумент>):<Результат (STRING)> Производит перекодировку строкового представления аргумента из кодовой страницы OEM в ANSI, используя системную кодовую страницу.
AnsiToOem Реализована Функция AnsiToOem(<Аргумент>):<Результат (STRING)> Производит перекодировку строкового представления аргумента из кодовой страницы ANSI в OEM, используя системную кодовую страницу.
AnsiToUTF8 Реализована Функция AnsiToUTF8(<Аргумент>):<Результат (STRING)> Производит перекодировку строкового представления аргумента из кодовой страницы ANSI в UTF-8, используя системную кодовую страницу.
UTF8ToAnsi Реализована Функция UTF8ToAnsi(<Аргумент>):<Результат (STRING)> Производит перекодировку строкового представления аргумента из UTF-8 в кодовую страницу ANSI, используя системную кодовую страницу.
TranslateFrom Реализована Функция TranslateFrom(<Аргумент>,<Кодовая страница (INT)>,<Удалять BOM (INT)>=1):<Результат (STRING)> Производит перекодировку строкового представления аргумента из кодовой страницы, заданной вторым аргументом в UTF-16, при необходимости удаляет BOM
TranslateTo Реализована Функция TranslateTo(<Аргумент>,<Кодовая страница (INT)>,<Добавить BOM (INT)>=0):<Результат (STRING)> Производит перекодировку строкового представления аргумента из UTF-16 в кодовую страницу, заданную вторым аргументом, при необходимости добавляя BOM
Translate Реализована Функция Translate(<Аргумент>,<Кодовая страница источник (INT)>,<Кодовая страница приемник (INT)>,<Удалять и добавлять BOM (INT)>=0):<Результат (STRING)> Производит перекодировку строкового представления аргумента из кодовой страницы, заданной вторым аргументом в кодовую страницу, заданную третьим аргументом, при необходимости удаляя и добавляя BOM
FormatDate Реализована Функция FormatDate(<Дата>,<Шаблон форматирования>,<Язык форматирования (STRING)>):<Результат (STRING)> Производит перекодировку даты и времени в строковой формат по указанному шаблону, используя указанный язык
FormatPeriod Планируется Функция Производит перекодировку периода между двумя датами в строковой формат по указанному шаблону, используя указанный язык
FormatNumber Реализована Функция FormatNumber(<Число>,<Нули пустой строкой (INT)>=1,<Разделитель тысяч (STRING)>="'",<Точность после точки (INT)>=2):<Результат (STRING)> Производит перекодировку и формирование числа в строковой формат, используя указанные установки
SpellNumber Реализована Функция SpellNumber(<Число>,<Язык кодирования (STRING)>,<Род результата (STRING)>="М"):<Результат (STRING)> Превращает число в его прописное представление, используя указанный язык и грамматический род результата
FormatCurrency Реализована Функция FormatCurrency(<Число>,<Режим (INT)>=0,<Тип валюты (STRING)>="USD",<Язык форматирования (STRING)>):<Результат (STRING)> Создает прописное представление денежной номинации по указанным правилам, для указанной валюты, используя указанный язык
TearStr Реализована Функция TearStr(<Строка>,<Подстрока-разделитель>="@"):<Результат (STRING)> Производит деление исходного строкового представления на две строки, разделенные вторым аргументом, возвращая в результате первую подстроку, и обновляя значение переменной первого аргумента второй строкой, если первый аргумент был переменной.
GetSubStr Реализована Функция GetSubStr(<Строка>,<Индекс (INT)>,<Подстрока-разделитель>="@"):<Результат (STRING)> Получает подстроку исходной строки, начиная с индекса символа, указанного во втором аргументе до следуюшего вхождения строки-разделителя в исходную строку. Индекс обновляется до позиции, непосредственно за найденной строкой-разделителем.
AppendStringToBufferedString Реализована Функция AppendStringToBufferedString(<Строка>,<Добавляемая строка>,<Шаг увеличения буфера (INT)>) Добавляет к строке в указанной в переменной, следующей первым аргументом, строку, заданную вторым аргументом. Используется для оптимизации скорости выполнения для длинных строк с большим количеством приращений.
FileToString Реализована Функция FileToString(<Имя файла>,<Кодовая страница (INT)>=0):<Результат (STRING)> Загружает указанный файл в строку, используя указанную кодовую страницу. Результирующая строка будет перекодирована в UTF-16, если кодовая страница равна нулю и присутвует BOM или больше нуля
StringToFile Реализована Функция StringToFile(<Строка>,<Имя файла>,<Кодовая страница (INT)>=0,<Добавить BOM (INT)>=0) Сохраняет строку в файл, при необходимости перекодируя ее в нужную кодировку и добавляя BOM. Вызывает исключение при ошибке.
AppendStringToFile Реализована Функция AppendStringToFile(<Строка>,<Имя файла>) Дополняет содержимое файла указанной строкой. Строка добавляется без перекодировки, если нужна определенная кодовая страница, строку необходимо предварительно подготовить. Функция вызывает исключение при ошибке.
EncodeXMLString Реализована Функция EncodeXMLString(<Строка>):<Результат (STRING)> Перекодирует знаки, запрещенные в теле файлов в XML формате, в разрешенную форму (к примеру "&" превращается в &amp;)
DecodeXMLString, DecodeHTMLString Реализована Функция DecodeXMLString(<Строка>):<Результат (STRING)> Перекодирует текст в HTML/XML нотации в обычный текст, т.е. последовательности типа &amp; или &#9829; в соответствующие знаки
EncodeHTMLString Планируется Функция EncodeXMLString(<Строка>):<Результат (STRING)> Перекодирует знаки, запрещенные в теле файлов в HTML формате, в разрешенную форму (к примеру "&" превращается в &amp;). В отличии от XML версии, производится перекодировка большего количества знаков, которые разрешены в XML, однако, запрещены в HTML.
CreateGUID Реализована Функция CreateGUID():<Результат (STRING)> Формирует новый GUID идентификатор системным медотом
ReformatXML Частичная реализация Функция ReformatXML(<Строка>,<Режимы (INT)>=3):<Результат (STRING)> Приводит текст в XML нотации к каноническому простому виду с тем, чтобы его можно было разобрать обычными текстовыми функциями. Позволяет настроить глубину упрощения текста
EncodeString Частичная реализация Функция EncodeString(<Строка или буфер (STRING,BUFFER)>,<Формат кодирования (STRING)>="INTERNAL",<Параметры кодирования (STRING)>):<Результат (STRING)> Производит кодирование строки в указанный формат (к примеру, "Base64" или "UUE"). Могут кодироваться как ANSI, так и Unicode строки, информация также может получаться из буфера.
DecodeString Частичная реализация Функция DecodeString(<Строка>,<Формат декодирования (STRING)>="INTERNAL",<Результат в формате UTF-16 (INT)>=0,<Параметры декодирования (STRING)>):<Результат (STRING)> Производит декодирование строки из указанного формата (к примеру, "Base64" или "UUE"). Могут декодироваться как ANSI, так и Unicode строки.


Функции строк-массивов значений

Идентификатор Статус Тип Визуальная Параметры Описание
AssertStringValues Реализована Функция AssertStringValues(<Аргумент 1>,<Аргумент 2>,<Строка-разделитель>,<Тип операции (INT)>,<Разделитель префикса>="") Производит проверку двух строк-массивов значений, имеющих префиксы, если необходимо, указанным методом. Если проверка неудачна, создает исключение.
JoinStringValues Реализована Функция JoinStringValues(<Аргумент 1>,<Аргумент 2>,<Строка-разделитель>,<Тип операции (STRING)>="OR",<Разделитель префикса>=""):<Результат (STRING)> Выполняет указанную логическую операцию над двумя строками-массивами значений, имеющих префиксы, если необходимо. Возвращает результирующую строку-массив значений.
GetStringValuesByPrefix Реализована Функция GetStringValuesByPrefix(<Аргумент>,<Строка-разделитель (STRING)>,<Разделитель префикса (STRING)>,<Значение префикса>):<Результат (STRING)> Возвращает строку-массив значений, состоящую только из значений строки-массива значений аргумента с указанным префиксом
GroupStringValues Реализована Функция GroupStringValues(<Аргумент>,<Строка-разделитель>,<Разделитель префикса>=""):<Результат (STRING)> Возвращает строку-массив значений, которая содержит только уникальные значения исходной строки-массива значений.
SortStringValues Реализована Функция SortStringValues(<Аргумент>,<Строка-разделитель>,<Направление (INT)>=0,<Разделитель префикса>=""):<Результат (STRING)> Возвращает строку-массив значений, полученную путем регистро-зависимой сортировки в указанном направлении значений исходной строки-массива значений.
GetPrefixesFromStringValues Реализована Функция GetPrefixesFromStringValues(<Аргумент>,<Строка-разделитель>,<Разделитель префикса>):<Результат (STRING)> Возвращает строку-массив значений, состоящую только из префиксов исходной строки-массива значений.