Pos в паскале что это

от admin

Pos в паскале что это

Search for substring in a string.

Declaration

Source position: systemh.inc line 1166

const substr : shortstring ;

const s : shortstring ;

const s : shortstring ;

const Substr : ShortString ;

const substr : shortstring ;

const c : ShortString ;

const c : ShortString ;

const v : Variant

const v : Variant

const a : AnsiString ;

const v : Variant

const v : Variant

const v : Variant

const v : Variant ;

const v : Variant ;

const s : ShortString

const v : Variant ;

const a : AnsiString

const v : Variant ;

const v : Variant ;

const v1 : Variant ;

const v2 : Variant

Description

Pos returns the index of Substr in S , if S contains Substr . In case Substr isn’t found, 0 is returned. The search is case-sensitive.

Функция Pos

Функция Pos в Паскале ищет подстроку в строке. Синтаксис функции имеет довольно много вариантов для разных типов данных:

Вся эта куча вариантов взята из документации. Так что просьба не критиковать за излишние подробности )))

Функция Pos возвращает индекс подстроки Substr в строке S, если строка S содержит в себе подстроку Substr. Если подстрока Substr не найдена в строке, то функция возвращает 0. Поиск чувствителен к регистру.

Как найти подстроку в строке

Разумеется, сделать это можно без использования специальных функций.

Проще всего найти в строке символ — это можно сделать простым перебором символов в строке.

Найти вхождение подстроки из нескольких символов будет сложнее. Но тоже возможно — существуют специальные алгоритмы.

Однако зачем “изобретать велосипед”, если есть готовые функции. Такие, например, как функция Pos.

С помощью этой функции можно найти символ или подстроку в строке.

Как часто приходится это делать? Зависит от специфики вашей работы.

Если вы работаете, например, с математикой, то почти никогда.

Если же вы работаете с большими объёмами текстовой информации, с файлами, то довольно часто.

В принципе, здесь всё понятно. Особых разъяснений не требуется.

Единственное замечание по варианту поиска подстроки cde. Как видите, в исходной строке есть две подстроки cde. Но функция возвращает число 3, то есть индекс первого элемента первой найденной подстроки.

program posfunc; var S : string; begin //Ищем индекс первого пробела в строке S := ‘The first space in this sentence is at position : ‘; Writeln(S, Pos(‘ ‘, S)); //Pos = 4 //Ищем последнюю букву английского алфавита в строке S := ‘The last letter of the alphabet doesn»t appear in this sentence ‘; //Так как такой буквы в строке нет, то будет выведено сообщение об этом if (Pos(‘Z’, S) = 0) and (Pos(‘z’, S) = 0) then Writeln(S); //Проверяем, что функция Pos действительно чувствительна к регистру S := ‘abcdefgcde’; Writeln(Pos(‘f’, S)); //Pos = 6 Writeln(Pos(‘F’, S)); //Pos = 0 — буква F не найдена Writeln(Pos(‘cde’, S)); //Pos = 3, потому что функция //возвращает индекс первого //найденного вхождения Writeln(Pos(‘cdf’, S)); //Pos = 0 — такой подстроки нет ReadLn; end.

Функции 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-го.

funkciya COPY, procedura DELETE.

Использование функции POS, процедуры INSERT.

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

Читать:
Ут 11 2 как открыть заказ поставщику

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 . Общая форма использования процедуры

Похожие статьи