Процедура Delete
Процедура Delete в Паскале удаляет часть строки. Синтаксис:
Процедура Delete удаляет символы из строки s, начиная с позиции, указанной в параметре index. Количество удаляемых символов указано в параметре count.
Все символы, которые находятся после удаленных символов, сдвигаются на count позиций влево, а длина строки исправляется.
Если, например, в строке 10 символов, и вы укажете начальную позицию 5, а количество символов 10 (то есть 5 + 10 = 15 — это больше длины строки), то ничего страшного не произойдёт. Просто строка будет обрезана, начиная от позиции, указанной в параметре index.
Также ничего страшного не произойдёт, если в параметре index вы укажете значение, которое превышает размер строки. В этом случае из строки не будут удалены никакие символы.
Строки в Паскале
Строку в Паскале можно рассматривать как массив символов переменной длины. Работа со строками в Паскале довольно проста.
Простой пример: объявляем строку stroka, допустимая длина этой строки равна 10-ти символам
Получаем: 
Максимальная длина строки в Паскале — 255 символов. Если при объявлении переменной типа строка не указать в квадратных скобках максимально допустимую длину, то по умолчанию длина строки равна 255-ти символам.
Длину строки в Паскале получаем с помощью функции Length:
Получаем: 
длина строки «sbp» равна трём байтам.
Если строке присвоить значение, длина которого больше допустимой, то лишние символы будут удалены. Пример:
Получаем: 
В этом примере строка может содержать не более двух символов, отсюда и результат.
Присоединить одну строку к другой в Паскале можно двумя путями: знаком «+» или функцией Concat.
Получаем: 
Пример соединения строк в Паскале с помощью встроенной функции Concat:
Получаем результат ровно такой же, как и в предыдущем примере.
Вставка строки в другую строку в Паскале делается с помощью стандартной функции Insert. Рассмотрим пример, где в строку «sbp-gram» после черточки, здесь номер символа 5, вставляется строка «pro»:
В результате получим строку «sbp-program».
Скопировать часть строки в Паскале можно с помощью функции Copy. Скопируем из строки «sbp-program» 3 символа, начиная с символа с номером 5, т.е. с буквы «p» в слове «program»:
Получаем: 
Найти подстроку в строке на Паскале можно с помощью функции Pos. Для примера берём строку «program» и найдём номер символа, с которого начинается первое вхождение строки «gram» в строку «program»:
В переменной «number» сохранится число 4. Если бы строка «gram» не встречалось в строке «program», то функция Copy вернула бы ноль.
Удалить подстроку из строки в Паскале можно с помощью стандартной функции Delete. Удалим первые три символа из строки «program»:
Получим «gram». Строкой Delete(stroka, 1, 3) мы дали команду удалить три символа из строки «stroka», начиная с 1-ой позиции.
Pascal. Строки символов типа String. Функции работы со строками символов
Строки символов типа String. Функции работы со строками символов. Функции Concat , Copy , Delete , Insert , Length , Pos , Val , Str
Содержание
- 1. Функция Concat . Конкатенация (слияние) строк
- 2. Функция Copy . Получить копию подстроки из указанной строки
- 3. Процедура Delete . Удаление подстроки из строки
- 4. Процедура Insert . Добавить подстроку к строке
- 5. Функция Length . Получить текущую длину строки
- 6. Функция Pos . Поиск подстроки в строке
- 7. Процедура Val . Конвертировать строку в число
- 8. Процедура Str . Конвертировать число в строку
Поиск на других ресурсах:
1. Функция Concat . Конкатенация (слияние) строк
Для конкатенации (добавления, слияния) строк используется функция Concat . Общая форма использования функции следующая
- S1 , S2 , SN – строки, которые нужно объединить;
- ResStr – результирующая строка.
Для вызова функции нужно указывать как минимум одну строку-параметр. Результат выполнения функции – результирующая строка типа string .
Пример.
Результат выполнения программы
2. Функция Copy . Получить копию подстроки из указанной строки
Для выделения некоторого фрагмента из строки используется функция Copy , имеющая следующее использование
- S – строковая величина типа String , из которой выделяется фрагмент;
- Start – величина типа Integer , определяющая позицию начала выделяемого фрагмента;
- Len – величина типа Integer , определяющая количество символов фрагмента, которые нужно выделить.
- ResStr – результатом выполнения этой процедуры есть величина типа String .
Пример.
Результат выполнения программы
3. Процедура Delete . Удаление подстроки из строки
С помощью процедуры Delete можно удалить некоторый фрагмент из строки. Общий вид процедуры:
- S – строковая величина, из которой удаляется фрагмент;
- Start – порядковый номер первого символа удаляемого фрагмента;
- Len – количество символов фрагмента, которые нужно удалить.
Пример.
Результат выполнения программы
4. Процедура Insert . Добавить подстроку к строке
Для вставки в заданную строку другой подстроки используется процедура Insert . В общем случае использование этой процедуры следующее
- S – строковая величина – вставляемый фрагмент;
- S_new – строковая величина, в которую вставляется фрагмент S и где получается результат вставки;
- Start – порядковый номер символа в строке S_new , перед которым вставляется фрагмент S . Значение Start нумеруется с 1.
Пример.
Результат выполнения программы
5. Функция Length . Получить текущую длину строки
Для определения длины строки используется стандартная функция Length . В наиболее общем случае использование функции может быть следующим
- S – строка типа String ;
- Len – количество символов в строке S (длина строки).
Пример.
Результат выполнения программы
6. Функция Pos . Поиск подстроки в строке
Для определения местоположения искомого фрагмента строковой величины можно воспользоваться функцией
- S_find – искомая подстрока;
- S – строка;
- Position – позиция, с которой начинается подстрока S_find в строке S . Значение Position есть типа Byte и нумеруется с 1. Если искомой подстроки в строке не существует, то Position = 0 .
Пример.
Результат выполнения программы
7. Процедура Val . Конвертировать строку в число
Процедура Val позволяет преобразовать строку в число. При этом считается, что строка является представлением числа в символьной форме (например, ‘2.85’, ‘1879’). Эта процедура производит обратную операцию по отношению к процедуре Str .
В наиболее общем случае использование процедуры Val имеет вид:
- S – строковая величина;
- V – величина числового типа, которую нужно преобразовать;
- ErrCode – код результата выполнения процедуры. Если преобразование произошло успешно, то ErrCode=0 . Если из строки S невозможно получить число V , то ErrCode равен номеру позиции в строке S , которую нельзя преобразовать. К примеру, для строки ‘123A56’ вызов процедуры Val вернет ErrCode = 4 .
Пример.
Результат выполнения программы
8. Процедура Str . Конвертировать число в строку
Процедура Str является обратной процедуре Val и позволяет конвертировать величину числового типа ( Integer , Real и т.д.) в строку типа String . Общая форма использования процедуры
Функции Copy, Pos, процедуры Delete, Insert.
Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет скопировано.
Процедура Delete удаляет часть символов из строки. Процедура имеет 3 параметра. Delete (st, index, count). St-строка, из которой будут удалены символы, Index-номер символа, с которого начинается удаление, Count-количество символов, подлежащих удалению.
Процедура Insert позволяет вставлять символы в строку. Процедура имеет 3 параметра. Insert (subst, st, index). Subst-подстрока, которую необходимо вставить, St-строка, в которую вставляется подстрока, Index-номер элемента, с которого начинается вставка.
Функция Pos отыскивает в строке первое вхождение подстроки и возвращает в качестве значения номер элемента, с которого начинается вхождение. Функция имеет 2 параметра. Pos (subst, st). Subst-подстрока, St-строка.
Использование функции COPY, процедуры DELETE.
Строка №6. Записываем в переменную «stroka1» слово «Programmirovanie».
Строка №7. В переменную «stroka2» записываем значение функции Copy. В результате работы этой функции из переменной «stroka1» (слова «Programmirovanie») будет скопировано 10 символов, начиная с 3-го символа.
Строка №9. Процедура Delete удалит из слова «Programmirovanie» 10 символов, начиная с 3-го.


Использование функции POS, процедуры INSERT.
Строка №9. Процедура Insert позволяет вставить в строку другую строку. В нашем случае в слово «Programmirovanie» вставляется слово «PASCAL», начиная с 8-го символа.
Строка №11. В переменную «nomer» записывается значение функции Pos. Переменная «stroka1» содержит слово «ProgramPASCALmirovanie». Буква «S» является 10-й по счету. Соответственно в переменную «nomer» будет записано число 10.