Функція AnsiPos в Delphi знаходить позицію одного рядка в іншому.
StrUtils unit
function AnsiPos (const Needle, HayStack : string) : Integer;
Функція AnsiPos шукає підрядок Needle у рядку HayStack, повертаючи позицію у рядку першого входження.
Всі команди Ansi підтримують багатобайтові символи та символи з діакритичними знаками.
Якщо рядок не знайдено, то повертається 0.
Пошук чутливий до регістру.
Примітка.
Зверніть увагу, що рядки починаються з позиції рівної 1.
Багатобайтові набори символів визначені операційною системою. Наприклад, Східні версії Windows використовують багатобайтові символи для підтримки дуже великого набору символів.
Функція AnsiPos: Знаходження слова в реченні
var
position : Integer;
begin
// Пошук слова 'Cat' у реченні
// Зверніть увагу: що цей пошук чутливий до регістру, тому перше 'cat' не розглядається
position := AnsiPos('Cat', 'The cat sat on the Cat mat');
if position = 0
then ShowMessage('''Cat'' не знайдено в реченні')
else ShowMessage('''Cat'' було знайдено починаючи з символу '+IntToStr(position));
end;
Результат
'Cat' було знайдено починаючи з символу 20
Подібні функції, процедури та команди
AnsiIndexStr — порівнює рядок зі списком рядків, повертає відповідний індекс.
AnsiMatchStr — повертається істина, якщо рядок точно відповідає будь-якому рядку зі списку.
LastDelimiter — знаходить останню позицію вказаних символів у рядку.
StrScan — шукає задані символи у рядку.
