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

Группа функций, предназначенных для работы с данными типа string.

 

StringConcatenate

string StringConcatenate(…)

Формирует строку из переданных параметров и возвращает её. Параметры могут иметь любой тип. Количество параметров не может превышать 64.

Параметры преобразуются в строки по тем же правилам, что и в функциях Print(), Alert() и Comment(). Возвращаемая строка получается в результате конкатенации строк, преобразованных из параметров функции.

Функция StringConcatenate() работает быстрее и экономнее по памяти, чем связывание строк при помощи операций сложения (+).

Параметры:

— Любые значения, разделенные запятыми.

Пример:

string text;

text=StringConcatenate("Account free margin is ", AccountFreeMargin(), " Current time is ", TimeToStr(TimeCurrent()));

// text="Account free margin is " + AccountFreeMargin() + " Current time is " + TimeToStr(TimeCurrent())
Print(text);

 

StringFind

int StringFind(string text, string matched_text, int start=0)

Поиск подстроки. Возвращает номер позиции в строке, с которой начинается искомая подстрока, либо -1, если подстрока не найдена.

Параметры:

text — Строка, в которой производится поиск.
matched_text — Искомая подстрока.
start — Позиция в строке, с которой должен быть начат поиск.

Пример:

string text = "Быстрая коричневая собака перепрыгивает ленивую лисицу";

int index=StringFind(text, "собака перепрыгивает", 0);

if(index!=20)
  Print("oops!");

 

StringGetChar

int StringGetChar(string text, int pos)

Возвращает значение символа, расположенного в указанной позиции строки.

Параметры:

text — Строка.
pos — Позиция символа в строке. Может быть от 0 до StringLen(text)-1.

Пример:

int char_code=StringGetChar("abcdefgh", 3);
// символьный код 'c' = 99

 

StringLen

int StringLen(string text)

Возвращает число символов в строке.

Параметры:

text — Строка для вычисления длины.

Пример:

string str="some text";

if(StringLen(str)<5)
   return(0);

 

StringSetChar

string StringSetChar(string text, int pos, int value)

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

Параметры:

text — Строка для изменения.
pos — Позиция символа в строке. Может быть от 0 до StringLen(text).
value — Символьный код ASCII.

Пример:

string str  = "abcdefgh";
string str1 = StringSetChar(str, 3, 'D');

// str1 = "abcDefgh"

 

StringSubstr

string StringSubstr(string text, int start, int length=0)

Извлекает подстроку из текстовой строки, начинающейся c указанной позиции.
Функция возвращает копию извлеченной подстроки, если возможно, иначе возвращается пустая строка.

Параметры:

text — Строка, из которой должна быть извлечена подстрока.
start — Начальная позиция подстроки. Может быть от 0 до StringLen(text)-1.
length — Длина извлекаемой подстроки. Если значение параметра меньше или равно 0 либо параметр не задан, то будет извлекаться подстрока, начиная с указанной позиции и до конца строки.

Пример:

string text = "Быстрая коричневая собака перепрыгивает ленивую лисицу";
string substr = StringSubstr(text, 8, 10);
// извлеченная строка "коричневая"

 

StringTrimLeft

string StringTrimLeft(string text)

Функция урезает символы перевода каретки, пробелы и символы табуляции в левой части строки. Функция возвращает копию преобразованной строки, если это возможно, в противном случае возвращается пустая строка.

Параметры:

text — Строка, которая будет срезана слева.

Пример:

string str1=" Hello world ";
string str2=StringTrimLeft(str);
// после срезания str2, у переменной будет значение - "Hello World "

 

StringTrimRight

string StringTrimRight(string text)

Функция урезает символы перевода каретки, пробелы и символы табуляции в правой части строки. Функция возвращает копию преобразованной строки, если это возможно, в противном случае возвращается пустая строка.

Параметры:

text — Строка, которая будет срезана справа.

Пример:

string str1 = " Hello world ";
string str2=StringTrimRight(str);

// после срезания str2, у переменной будет значение - " Hello World"