Количество подстрок в строке.
Выкладываю просто функцию *_*
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/ ) Красивые букеты, даже скидки какие-то есть.
А что есть количество подстрок в строке? Сколько подстрок содержит строка «abc»? 6?
Привет)
Функция Pos говорит о позиции подстроки в строке.
Подстрока — это я так перевел substr — строка, позицию которой мы определяем в основной строке (str).
А в функции PosCount мы определяем не позицию, а количество.
Например, в строке abc есть строка (подстрока^^) bc, она всего одна.
Функция Pos(‘bc’, ‘abc’) вернет 2, так как она начинается со второго. А PosCount(‘bc’, ‘abc’) вернет 1.
Еще пример — в строке ‘abcabc’ есть две подстроки ‘b’.
Теперь понятно, что-то я сглупил немного :).