Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Рекурсивный поиск с помощью функции pos

01.01.2007
function PosN(Substring, Mainstring: string; n: Integer): Integer;
 
 
{
Function PosN get recursive - the N th position of "Substring" in
"Mainstring". Does the Mainstring not contain Substrign the result
is 0. Works with chars and strings.
}
 
begin
   
if Pos(substring, mainstring) = 0 then
   
begin
      posn
:= 0;
     
Exit;
   
end
   
else
   
begin
     
if n = 1 then posn := Pos(substring, mainstring)
     
else
     
begin
       posn
:= Pos(substring, mainstring) + posn(substring, Copy(mainstring,
         
(Pos(substring, mainstring) + 1), Length(mainstring)), n - 1);
     
end;
   
end;
 
end;
 
 
//Beispiele / Examples
 
  i
:= posn('s', 'swissdelphicenter.ch', 2);
   
//  i=4
 
 
 
  i
:= posn('x', 'swissdelphicenter.ch', 1);
   
//  i=0
 
 
  i
:= posn('delphi', 'swissdelphicenter.ch', 1);
   
//  i=6

Взято с сайта: https://www.swissdelphicenter.ch