Для работы со строковым типом данных в языке Pascal предусмотрены следующие стандартные процедуры и функции:
1. function concat (S1[,S2,…,SN]:string):string;
(квадратные скобки здесь обозначают, что записанная в них часть является необязательной и может отсутствовать)
Склеивает строки S1,S2,…,SN.
Примеры: y:=concat(‘ка’,’ток’); {y=’каток’}
2. function copy (S:string ; Index, Count:integer):string ;
Копирует из строки S Count символов, начиная с символа с номером Index.
Примеры: s:=’информатика’; a:=copy(s,3,5); {a=’форма’}
3. function length (S:string):integer ;
Вычисляет текущую длину строки S.
Примеры: n:=length(‘каникулы’); {n=8}
4. function pos (ST,S:string):integer ;
Отыскивает в строке S первое вхождение подстроки ST и возвращает номер позиции, с которой она начинается. Если подстрока не найдена, возвращает ноль.
Примеры: a:=pos(‘рок’,’строка’); {a=3}
b:=pos(‘программа’,’программирование’); {b=0}
5. procedure delete (var S:string ; Index,Count:integer);
Удаляет Count символов из строки S, начиная с символа с номером Index.
Примеры: x:=’каток’; delete(x, 1, 2); {x=’ток’}
6. procedure insert (ST:string ; var S:string ; Index:integer);
Вставляет подстроку ST в строку S, начиная с символа с номером Index.
Примеры: s:=’свет’; insert(‘рас’,s,1); {s=’рассвет’}
7. procedure val (S:string ; var X: integer; var Code:integer);
илиprocedure val (S:string ; var X: real; var Code:integer);
Преобразует строку символов S во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной. Параметр Code содержит ноль, если преобразование прошло успешно, тогда в X помещается результат преобразования, в противном случае Code содержит номер позиции в строке S, в которой обнаружен ошибочный символ, и в этом случае значение X не меняется.
Примеры: var a: string ; b,c: integer; d: real;
Begin a:=’58’; val(a,b,c); {b=58, c=0}
a:=’27d5k’; val(a,b,c); {b=0, c=3}
val(a,d,c); {d= 5.8000000000E+01, c=0}