Difference between revisions of "Строковые функции"
m (1 revision imported) |
1>Admin (→Основные функции) |
||
Line 463: | Line 463: | ||
{{function entry | {{function entry | ||
|name=[[ReformatXML]] | |name=[[ReformatXML]] | ||
− | |form='''ReformatXML'''(''<Строка>''{{Optional|,''<Режимы (INT)>''{{Default|{{Eq}}3}}}}):''<Результат (STRING)>'' | + | |form='''ReformatXML'''(''<Строка или текст (STRING,TEXT)>''{{Optional|,''<Режимы (INT)>''{{Default|{{Eq}}3}}}}):''<Результат (STRING)>'' |
|type=1 | |type=1 | ||
|status=1 | |status=1 | ||
Line 479: | Line 479: | ||
{{function entry | {{function entry | ||
|name=[[DecodeString]] | |name=[[DecodeString]] | ||
− | |form='''DecodeString'''(''<Строка>''{{Optional|,''<Формат декодирования (STRING)>''{{Default|{{Eq}}"INTERNAL"}}}}{{Optional|,''<Результат в формате UTF-16 (INT)>''{{Default|{{Eq}}0}}}}{{Optional|,''<Параметры декодирования (STRING)>''}}):''<Результат (STRING)>'' | + | |form='''DecodeString'''(''<Строка (STRING)>''{{Optional|,''<Формат декодирования (STRING)>''{{Default|{{Eq}}"INTERNAL"}}}}{{Optional|,''<Результат в формате UTF-16 (INT)>''{{Default|{{Eq}}0}}}}{{Optional|,''<Параметры декодирования (STRING)>''}}):''<Результат (STRING)>'' |
|type=1 | |type=1 | ||
|status=1 | |status=1 | ||
Line 486: | Line 486: | ||
}} | }} | ||
{{function footer}} | {{function footer}} | ||
− | |||
== Функции строк-массивов значений == | == Функции строк-массивов значений == |
Revision as of 13:07, 6 March 2021
Строковые функции | |||
---|---|---|---|
|
Строковые функции работают со строками, их модификацией и превращением в разные кодировки и пр. Важно понимать, что в системе есть два вида строковых объектов -- однобайтовый (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 формате, в разрешенную форму (к примеру "&" превращается в & )
| |
DecodeXMLString, DecodeHTMLString | Реализована | Функция | DecodeXMLString(<Строка>):<Результат (STRING)> | Перекодирует текст в HTML/XML нотации в обычный текст, т.е. последовательности типа & или ♥ в соответствующие знаки
| |
EncodeHTMLString | Планируется | Функция | EncodeXMLString(<Строка>):<Результат (STRING)> | Перекодирует знаки, запрещенные в теле файлов в HTML формате, в разрешенную форму (к примеру "&" превращается в & ). В отличии от XML версии, производится перекодировка большего количества знаков, которые разрешены в XML, однако, запрещены в HTML.
| |
CreateGUID | Реализована | Функция | CreateGUID():<Результат (STRING)> | Формирует новый GUID идентификатор системным медотом | |
ReformatXML | Частичная реализация | Функция | ReformatXML(<Строка или текст (STRING,TEXT)>,<Режимы (INT)>=3):<Результат (STRING)> | Приводит текст в XML нотации к каноническому простому виду с тем, чтобы его можно было разобрать обычными текстовыми функциями. Позволяет настроить глубину упрощения текста | |
EncodeString | Частичная реализация | Функция | EncodeString(<Строка или буфер (STRING,BUFFER)>,<Формат кодирования (STRING)>="INTERNAL",<Параметры кодирования (STRING)>):<Результат (STRING)> | Производит кодирование строки в указанный формат (к примеру, "Base64" или "UUE"). Могут кодироваться как ANSI, так и Unicode строки, информация также может получаться из буфера. | |
DecodeString | Частичная реализация | Функция | DecodeString(<Строка (STRING)>,<Формат декодирования (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)> | Возвращает строку-массив значений, состоящую только из префиксов исходной строки-массива значений. |