Вниз
Скачать: CL | DM;

Как найти подстроку в строке???   Найти похожие ветки 

← →
Netizen ©   (2002-08-22 23:00) [0]

Вобщем такой прикол - допустим есть у меня строка вводимая юзером (Edit1)"ффропропффккерофф" и он же вводит подстроку (Edit2) например фф и в Edit3 должен вывестись результат количества подстроки в строке - тоесть в даном случае 3!


← →
Юрий Зотов ©   (2002-08-22 23:46) [1]

Что-то типа этого (писал "на лету", не проверял, проверьте сами).

function SubCount(Src, Sub: string): integer;
begin
Result := Pos(Sub, Src);
if Result > 0 then
begin
Delete(Src, Result, Length(Sub));
Result := 1 + SubCount(Src, Sub)
end
end;


← →
Ученик ©   (2002-08-22 23:48) [2]

>Netizen © (22.08.02 23:00)
А ффф - это 2 фф или как ?


← →
Юрий Зотов ©   (2002-08-22 23:51) [3]

Дополнение.

Вообще-то, задача поставлена некорректно. Например, сколько раз входит подстрока "aa" в строку "aaaа"?

Варианты ответов:
- 2 раза;
- 3 раза.

И оба правильные. Смотря, как считать.




← →
Anatoly Podgoretsky ©   (2002-08-22 23:52) [4]

Если две то Delete(Src, Result, 1); только лучше уйти от рекурсии, а то на длинных строках будет проблема со стеком


← →
Ученик ©   (2002-08-23 00:01) [5]

>Netizen © (22.08.02 23:00)

function SubCount(const S, Sub : string) : Integer;
var
i, l : Integer;
begin
Result := 0;
l := Length(Sub);
for i := 1 to Length(S) - l + 1 do
if Copy(s, i, l) = Sub then
Inc(Result)
end;


← →
Anatoly Podgoretsky ©   (2002-08-23 00:12) [6]

Лучше использовать StrLComp или StrLIComp, что бы не проводить копирования, думаю будет значительно быстрее, хотя требуется проверка.

if StrLComp(S, Sub, l) = 0 then



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
1-3354
Nikoss
2002-08-21 23:29
2002.09.02
Подскажите, как в двумерном массиве проверить есть ли данные в ст


3-3323
ligor
2002-08-13 20:15
2002.09.02
Сложный фильтр в БД


1-3466
MMarat
2002-08-20 15:53
2002.09.02
mailto:


1-3347
Cr@sh
2002-08-19 12:31
2002.09.02
Устранение мерцаний Image.


14-3615
Lampo4ka
2002-08-08 10:02
2002.09.02
Где скачать DelphiX ?




   Наверх