3.2. Функции обработки строк

Сору (st, Poz, N) выделяет из st подстроку длиной N символов, начиная с позиции Poz.

stl:='absdefg'; writeln (Сору (stl, 2, 3));

результат bсd

Const (stl, st2,..., stn) выполняет сцепление строк stl... stn. Длина суммарной строки не должна превышать 255 символов.

Length (st) определяет длину строки, результат - integer.

Pos (stl, st2) обнаруживает первое появление строки stl в строке st2. Результат - целое число, определяющее номер позиции, в которой находится первый символ подстроки st1. Если st1 не содержится в строке st2, то результат равен 0.

UpCase (ch) преобразует строчную букву в прописную.

Параметр и результат имеют литерный тип.

ch:=a'; UpCase (ch) имеет результат 'A'.

Program Prim 41, Prim 42, Prim 43 иллюстрируют работу вышеописанных функций.

Program Prim41;
var
st1,st2:string[30];
s:char;
BEGIN
st1:='отдел № 256';
writeln(copy(st1,7,5));
st2:='находится в НИИ 5';

writeln(concat(st1,st2));

writeln(length(st2));

st2:='n 256';

writeln(pos(st2,st1));

s:='a';

writeln(upcase(s));

readln;END.

Program Prim42; {программа удаляет все пробелы в строке, стоящие в строке слева, если они имеются}

Var str:string[255]; { Var str: string; будет работать так же}
function del(stroka:string):string;

Var
dlina:byte;

Begin
dlina:=Ord(stroka[0]);

while ((dlina>0)and(copy(stroka,1,1)=' '))do

delete(stroka,1,1);

del:=stroka;

end;

BEGIN writeln('введите строку');

readln(str);

writeln(del(str));
readln;

END.

Program Prim43; { Даны три исходные строки A,B,C. В строке А определить первую бук }
{ ву; Затем заменить первую букву строки А со строчной на за главную; }
{ объединить в одну строку A,B,C; Определить длины строк A,B,C}
{ и в результирующей строке вставить '-' между составляющими ее}
{ строками. В результирующей строке найти номер позиции, в которой }
{ буква "а" встречается первый раз; определить длину результирующей }
{ строки. После каждого действия печатать результаты. }
Var
A,B,C:string[14];
str:string[50];
ch:bstring[1];
d1,d2,d3:integer;

Begin
A:='электронная';
B:='вычислительная';
C:='машина';
ch:=copy(A,1,1);
writeln(ch);

delete(A,1,1);
writeln(A);

writeln(upcase(ch[1]));

insert(upcase(ch[1]),A,1);
writeln(A);

str:=concat(A,B,C);
writeln(str);

d1:=length(A);
d2:=length(B);
d3:=length(C);

writeln('длины строк> ' ,d1:6,d2:6,d3:6);
insert('-',str,d1+1);
insert('-',str,d1+d2+2);

writeln(str);

writeln('первый раз буква "а"стоит в результирующей строке ', 'в позиции ',pos('а',str));
writeln('общая длина строки =',length(str));

readln;
END.