Количество подстрок в строке.

schoty
Выкладываю просто функцию *_*

function PosCount(substr, str: string): integer;
var
  p, i: integer;
begin
  i:=-1;
  p:=0;
  repeat
    i:=i+1;
    p:=PosEx(substr, str, p + Length(substr));
  until p=0;
  Result:=i;
end;

Количество подстрок определяет на ура, писал для просто символов.
(c) crystalbit, http://parsers.info

Функции, функции, как мило. А сейчас весна, между прочим. Помимо функций думаю купить кое-кому цветы, даже сайт под рукой ( http://www.flo4you.ru/ ) Красивые букеты, даже скидки какие-то есть.

3 ответа к «Количество подстрок в строке.»

  1. Привет)
    Функция Pos говорит о позиции подстроки в строке.
    Подстрока — это я так перевел substr — строка, позицию которой мы определяем в основной строке (str).

    А в функции PosCount мы определяем не позицию, а количество.
    Например, в строке abc есть строка (подстрока^^) bc, она всего одна.
    Функция Pos(‘bc’, ‘abc’) вернет 2, так как она начинается со второго. А PosCount(‘bc’, ‘abc’) вернет 1.
    Еще пример — в строке ‘abcabc’ есть две подстроки ‘b’.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *