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