Изменение регистра символов и обрезка пробелов
При работе с текстами часто возникает необходимость в некоторых стандартных операциях: привести все символы к верхнему или нижнему регистру, а также убрать лишние пустые символы (например, пробелы) в начале или конце строки. Для этих целей MQL5 API предоставляет 4 соответствующие функции. Все они модифицируют строку по месту, то есть непосредственно в имеющемся буфере (если он уже распределен).
Входным параметром всех функций является ссылка на строку, то есть в них можно передать только переменные (не выражения), причем не константные переменные, поскольку функции предполагают модификацию аргумента.
Тестовый скрипт для всех функций приведен после их описаний.
bool StringToLower(string &variable)
bool StringToUpper(string &variable)
Функции преобразуют все символы указанной строки в соответствующий регистр: StringToLower — в строчные (маленькие) буквы, а StringToUpper — в прописные (большие). В том числе поддерживаются национальные языки, доступные на уровне системы Windows.
В случае успеха возвращается true, в случае ошибки — false.
int StringTrimLeft(string &variable)
int StringTrimRight(string &variable)
Функция удаляет символы перевода каретки ('\r'), перехода на новую строку ('\n'), пробелы (' '), табуляции ('\t') и некоторые другие неотображаемые символы в начале (для StringTrimLeft) или конце (для StringTrimRight) строки. Если внутри строки (между отображаемыми символами) есть еще пустые знакоместа, они сохранятся.
Функция возвращает количество удаленных символов.
В файле StringModify.mq5 демонстрируется работа вышеперечисленных функций.
void OnStart()
|