Основными операциями с типом String являются:
1) Присваивание: S1=S2;
2) Сравнение: S1==S2, S1<=S2, S1!=S2 и т.д.
Здесь знак < означает предшествование по алфавиту (подробности см. выше в описании strcmp). Равенство означает точное совпадение строк.
3) Сцепление (конкатенация): S1+S2
Пример. Вывести в одну строку Memo1 переменные S1 и S2 типа String, разделяя их пробелом:
Memo1->Lines->Add(S1+" "+S2);
Допустимы и операции присваивания вида S1+=S2.
Заметим, что переменной типа String можно присваивать и значение большинства других типов: символьных (char, массив char), числовых (int, double и т.д.), при этом они автоматически преобразуются к типу String. Аналогично, если в бинарной операции первый операнд имеет тип String, второй также преобразуется к типу String:
S1="Пример:";
S2=23.5; // Равносильно S2=FloatToStr(23.5);
Memo1->Lines->Add(S1+" "+S2);
Многие другие операции над строками осуществляются с помощью методов типа String. Метод - это тип функций, вызываемых особым образом: для обращения к методу надо после имени переменной типа String поставить точку, а затем имя метода и круглые скобки (в которых, при необходимости, указываются параметры метода).
Основные методы типа String (и типы их результатов, если они есть):
int Length() - длина строки (количество символов в ней);
String SubString(int i, int n) - копирует из строки подстроку, начиная с i-ой позиции, длиной n символов. Исходная строка не изменяется. (Если в исходной строке, начиная с i-ой позиции, содержится меньше n символов, метод выделяет столько символов, сколько есть).
Пример: Вывести все символы строки, кроме первого:
Edit1->Text=s.SubString(2, s.Length()-1);
Insert(String S2, int i) - вставляет строку S2 в середину строки, начиная с i-ой позиции;
Delete(int i, int n) - удаляет из строки n символов, начиная с i-ой позиции. (Если в исходной строке, начиная с i-ой позиции, содержится меньше n символов, метод удаляет имеющиеся символы с i-ой позиции).
Пример: Заменить в строке S символы с 3-го по 7-ой на многоточие.
S.Delete(3,5);
S.Insert("...",3);
int Pos(String S2) - ищет первое вхождение подстроки S2 в данной строке. Результат - номер позиции, начиная с которой в строке содержится S2, либо 0, если S2 в ней не содержится.
Пример:
S1="Ababab", S2="ab";
i=S1.Pos(S2); // i=3
char * c_str() - преобразует строку к типу "массив char" (см. ниже).
Наконец, наряду с методами, для типа String существуют также функции, например функции преобразования к заданному регистру. Они преобразуют не только латинские, но и русские буквы. Они могут применяться с целью регистро-нечувствительного сравнения:
String AnsiUpperCase (String S); ее результат получается из строки S преобразованием всех букв к верхнему регистру (большие буквы);
String AnsiLowerCase (String S); ее результат получается из строки S преобразованием всех букв к нижнему регистру (малые буквы);
Пример:
S1="Язык - Java";
S2=AnsiUpperCase(S1); // S2="ЯЗЫК - JAVA"