Над строками можно производить операции:
- сцепления (конкатенации);
- сравнения.
Конкатенация - слияние (сцепление) строк, записывается в естественном виде.
Если сумма длин строк превышает максимальную длину строки в левой части, то излишек отсекается.
Пример:
Var
s1,s2,s3:string;
Begin
S1:='Всем ';
S2:=' привет';
S3:=S1+S2; {S3 =’Всем привет’}
S3:=S3+'!'; {S3=’Всем привет!’}
End.
Сравнение строк происходит посимвольно (сравниваются коды), начиная с первого символа в строке.
Пример:
'abcd' = 'abcd' → true
'abcd'< >'abcde'→ true
Если при посимвольном сравнении окажется, что один символ > другого, то строка, содержащая больший символ считается большей. Остатки строк и их длины не играют никакой роли.
Любой символ всегда больше «пустого места».
'abcd' > 'abcD' {т.к. 'd'>'D'}
'aBcd' < 'ab' {т.к. 'B'<'b'}
'abcd' > 'abc' {т.к. 'd'>''}
' '>'' {т.к. #32>''}
Для работы со строками реализовано большое количество процедур и функции.
Таблица 1.1. Процедуры и функции для работы со строками
Процедуры и функции | Назначение |
Редактирование строк | |
Length(s) | Выдает текущую длину строки S |
Concat (s1,s2,…sn) | Возвращает слияние строк s1…sn |
Copy (s, start,len) | Возвращает подстроку длиной len, начинающуюся с позиции start строки s |
Delete (s, start, len) | Удаляет из s подстроку длиной len, начинающуюся с позиции start |
Insert (subs, s, start) | Вставляет в s подстроку subs, начиная с позиции start |
Pos(subs, s) | Ищет вхождение подстроки subs в строке s и возвращает номер первого символа subs в s или 0, если s не содержит subs |
Процедуры преобразования | |
Str(x[:F[:n]],s) | Преобразует числовое значение x в строку s. Возможно задание формата для х. |
Val (s,x,errcode) | Преобразует строковое значение s (строку цифр) в значение числовой переменной x |