Если искомый фрагмент SubS найден, функция возвращает его позицию – индекс первого символа SubS внутри строки S, а иначе возвращает ноль. Если строка S содержит несколько искомых фрагментов, возвращается индекс первого из них. Вот примеры.

      S:= 'BORLAND PASCAL';

      p:= Pos('LA', S);       { 4 }

      p:= Pos('PAS', S);       { 9 }

      p:= Pos('pas', S);       { 0 – подстрока не найдена }

      p:= Pos('A', S);       { 5 – первая из трех букв "A" }

Искомым фрагментом может быть и отдельный символ. Поиск ведется с учетом регистра; это значит, что заглавная и строчная буквы «P» считаются разными буквами.

Копирование части строки (Copy)

Функция Copy возвращает часть заданной строки.

      function Copy(S: string; Index, Count: Integer): string;

Входных параметров три:

• S – строка, из которой копируются символы;

• Index – индекс первого копируемого символа;

• Count – количество копируемых символов.

А вот примеры её применения.

      S:= ’Free Pascal forever!’;

      T:= Copy(S, 6, 6);       { ’Pascal’ }

      T:= Copy(S, 6, 255); { ’Pascal forever!’ }

Если копируемых символов затребовано больше, чем содержится в исходной строке, то скопируются все символы до конца строки (как в последнем примере).

Вставка в строку (Insert)

Объединять строки сложением просто. А если надо вставить строку в середину другой? Тогда обратитесь к процедуре Insert.

      procedure Insert(S1: string; var S2: string; Index: Integer);

Входные параметры:

• S1 – вставляемая строка;

• S2 – ссылка на принимающую строку;

• Index – позиция вставки.

Вот один пример.

      S:='Спартакчемпион!';

      { В позицию 8 вставляются три символа: тире и два пробела }

      Insert(' – ', S, 8);       { Спартак – чемпион! }

Если позиция вставки превышает длину строки S2, то строка S1 добавится в конец S2. Если длина итоговой строки S2 превысит допустимый размер, лишние символы будут отброшены.

Удаление символов из строки (Delete)

Говорят: ломать – не строить. Попытайтесь, однако, удалить часть символов из строки. Слабо? А процедура Delete справляется с этим играючи.

      procedure Delete(var S: string; Index, Count : Integer);

Вы читаете Песни о Паскале
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату