Главная страницаОбратная связьКарта сайта

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

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

function PosN(Substring, Mainstring: string; n: Integer): Integer;

 { 
Function PosN ermittelt rekursiv - die N te Position von 
"Substring" in "Mainstring". Ist der String nicht enthalten, 
Ergebnis 0. Falls N zu hoch ist, wird das letzte gefundene 
Vorkommen angezeigt. Funktioniert mit Chars und Strings 
}

 { 
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 

Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Рекурсивный поиск с помощью функции Pos", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info