скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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



Оформил: DeeCo

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 





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook