Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
4-3689
XTormentor
2002-06-28 14:08
2002.09.02
как через delphi6 запускать проги?


1-3370
dim-
2002-08-20 14:55
2002.09.02
что за ошибка?


14-3621
fool
2002-08-08 11:12
2002.09.02
Срочно!!! Последствия наглого вируса!!!!


3-3236
Димон1
2002-08-09 14:51
2002.09.02
Наверно пора на обед....


6-3545
Lina
2002-06-24 15:42
2002.09.02
Может кто-нибудь работал с функцией NetShareAdd ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский