|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.08.2008, 19:37 | #1 |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Подсчет слов
Здравствуйте.
Задача собствено такая: Предположем имеется файл с текстом мне нужно посчитать сколько раз встречается слово например форум. Можно загнать весь текст в массив а затем сравнивать кол-во совпадений, но ведь запятые точки пишут слитно с предшествующем текстом, а тогда это работать не будет. Подскажите пожалуйсто (советом, кодом) как бы это осуществить? Заранее благодарен.
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
26.08.2008, 20:46 | #2 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Создай массив с знакоми припинания, и проверь, сначало просто слово, а потом с массивом
pushl $0x18E3DF6B
call ICQ |
26.08.2008, 21:08 | #3 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Если чисто по Паскалевски, то так:
Код:
|
26.08.2008, 22:19 | #4 |
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
Регистрация: 29.09.2007
Сообщений: 1,824
|
Хотелось бы надеется на это.. есть еще вариант в дельфиворд есть описание функции: поиск по ричедиту, можно эту функцию в цикл поместить и так до конца файла... да вариантов куча... просто хотелось бы понять как попроще что-ли и правильнее..
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
|
26.08.2008, 22:38 | #5 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Pos - самое удобное.
pushl $0x18E3DF6B
call ICQ |
26.08.2008, 22:57 | #6 |
Участник клуба
Регистрация: 08.03.2008
Сообщений: 1,537
|
Создай обьект класса TStringList, загрузи в него файл с помощью LoadFromFile, пройдись по всем записям циклом for, поставь условие внутри цикла - если функция Pos возвратила не нулевое значение, то значит слово найдено - счетчик +1.
Роs возвращает позицию вхождения последовательности символов в заданной строке, если ничего не найдено возвращает 0. О классе TStringList почитайте тут |
27.08.2008, 02:03 | #7 |
***
Участник клуба
Регистрация: 30.07.2007
Сообщений: 1,162
|
а зачем тебе так всё усложнять, это тебе подходит.
Последний раз редактировалось dr.Chas; 27.08.2008 в 02:06. |
27.08.2008, 04:41 | #8 |
Банхаммер
Участник клуба
Регистрация: 17.02.2007
Сообщений: 1,754
|
а мне кажется этот пример работать не будет...
на вскидку я могу предложить 2 варианта это если пробежаться циклом по всему тексту: for i:=1 to length(text) do if ansilowercase(copy(text, i, 5))='форум' then inc(j); либо через pos, но там надо будет удалять все слова после каждого раза... т.е. если к примеру есть текст: "я пришел на форум? а форум был поломан" то при первом проходе он наткнется на первое слово, а при втором проходе и последующих он так же будет натыкаться на первое слово форум т.к. эта функция ищет от начала текста... следовательно нашли слово и удалили и увеличили результат... |
27.08.2008, 08:06 | #9 | ||
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Цитата:
Вы невнимательно прочитали код. Там же написано Цитата:
Последний раз редактировалось puporev; 27.08.2008 в 08:12. |
||
27.08.2008, 18:44 | #10 | |||
Участник клуба
Регистрация: 08.03.2008
Сообщений: 1,537
|
Цитата:
Цитата:
Цитата:
Код:
|
|||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" | Mashaa | Помощь студентам | 13 | 09.12.2009 13:28 |
подсчет md5 | Noor | Компоненты Delphi | 8 | 18.11.2009 08:22 |
Статистический подсчет. | Reecon | Microsoft Office Excel | 8 | 23.04.2009 13:53 |
Подсчет траффика | joker | Win Api | 9 | 11.01.2009 13:29 |
Подсчет | r2n | Общие вопросы Delphi | 4 | 01.05.2007 05:48 |