Что делает copy в паскале
Copy part of a string.
Declaration
Source position: system.fpd line 80
Description
Copy returns a string which is a copy if the Count characters in S , starting at position Index . If Count is larger than the length of the string S , the result is truncated. If Index is larger than the length of the string S , then an empty string is returned. Index is 1-based.
For dynamic arrays, Copy returns a new dynamic array of the same type as the original one, and copies Count elements from the old array, starting at the position in Index .
The Count argument can be omitted. In that case, the string (or dynamic array) is copied from the position Index till the end of the string or array.
Функция Copy
Функция Copy в Паскале копирует часть строки. Синтаксис:
Здесь AStringType — это любой строковый тип данных.
Второй вариант для динамических массивов:
Здесь DynArrayType — это какой-либо динамический массив (о динамических массивах как-нибудь в другой раз).
Функция Copy копирует несколько символов подряд из строки S и возвращает эти символы в виде строки. Первый символ, с которого начинается копирование строки, указан в параметре Index (нумерация символов в строке начинается с единицы слева направо). Количество копируемых символов указано в параметре Count.
Например, вот этот код
str := Copy(‘123456’, 3, 2);
копирует в строку str два символа, начиная с 3-го. То есть после выполнения этого кода в str будет строка ’34’.
Если в параметре Count будет указано значение, превышающее длину строки, то результат будет обрезан. Например, вот этот код
str := Copy(‘123456’, 4, 10);
копирует в строку str три символа ‘456’, хотя мы “заказали” копирование 10 символов.
Если в параметре Index будет указано значение, превышающее длину строки, то функция вернёт пустую строку. Например, вот этот код
str := Copy(‘123456’, 15, 2);
вернёт пустую строку, потому что в строке всего 6 символов, а мы указали в качестве первого копируемого символа число 15.
Для динамических массивов функция возвращает новый динамический массив того же типа, что и указанный в параметре А, и копирует количество элементов Count из старого массива, начиная с элемента, определённого параметром Index.
А теперь пример программы.
Не забудьте подключить модуль SysUtils, чтобы использовать функцию StrToInt (её мы изучим как-нибудь в другой раз, а пока только скажу, что она преобразует строку в число).
Что делает copy в паскале
1.String copy
The first character of a string has index = 1.
Up to Count characters are copied from the StartChar of the Source string to the returned string.
Less than Count characters if the end of the Source string is encountered before Count characters have been copied.
2.Array copy
The first element of an array has index = 0.
Up to Count elements are copied from the StartIndex of the Source array to the returned array.
To guarantee copying to the end of the string or array, use the MaxInt constant as the Count value.
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 . Общая форма использования процедуры