![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать функцию PosN
vitnt © (2002-12-02 13:37:00)Подскажите пожалуйста как написать функцию, анало pos, но чтобы можно было находить позицию N-ного вхождения подстроки.
vitnt (2002-12-02 13:49:00) [1]I>
> Skier ©
спасибо!<
vitnt (2002-12-02 13:47:00) [2]
> Skier
А исходник функции NPos есть?
а то неохото RX ставить
Skier (2002-12-02 13:46:00) [3]"Папы этого ответ помещаю в книжке..." :)
function NPos(const C: string; S: string; N: Integer): Integer;
var
I, P, K: Integer;
begin
Result := 0;
K := 0;
for I := 1 to N do begin
P := Pos(C, S);
Inc(K, P);
if (I = N) and (P > 0) then begin
Result := K;
Exit;
end;
if P > 0 then Delete(S, 1, P)
else Exit;
end;
end;
Skier (2002-12-02 13:43:00) [4]>vitnt
RX Library StrUtils.pas;
NPos searches for a N-th position of substring C in a given string.
function NPos(const C: string; S: string; N: Integer): Integer;
Song (2002-12-02 13:40:00) [5]Цикл+Pos()