Функція AnsiIndexStr в Delphi порівнює рядок зі списком рядків і повертає відповідний індекс.
StrUtils unit
function AnsiIndexStr (const Source : string; const StringList : array of string) : Integer;
Функція AnsiIndexStr з'ясовує, чи відповідає будь-який з рядків StringList рядку Source.
Коли знайдено відповідність, повертається індекс 1. Інакше, повертається -1.
Список рядків може бути визначений як список, взятий у квадратні дужки (як у прикладі), або як масив рядків.
Ця команда чутлива до регістру.
Функція AnsiIndexStr: Приклад коду
var
source : AnsiString;
position : Integer;
begin
source := 'Henry'; // Рядок для відповідності
// Зверніть увагу, що AnsiIndexStr чутлива до регістру
// Ми використовуємо жорстко встановлений постійний рядковий масив
position := AnsiIndexStr(source, ['BRIAN', 'JIM', 'HENRY']);
ShowMessageFmt('Індекс першої відповідності = %d',[position]);
// Зверніть увагу, що масиви починаються з 0
position := AnsiIndexStr(source, ['Brian', 'Jim', 'Henry']);
ShowMessageFmt('Індекс другої відповідності = %d',[position]);
end;
Результат
Індекс першої відповідності = -1
Індекс другої відповідності = 2
Подібні функції, процедури та команди
AnsiMatchStr — повертається істина, якщо рядок точно відповідає будь-якому рядку зі списку.
AnsiPos — знаходить позицію одного рядка в іншому.
StrScan — шукає задані символи в рядку.