Поиск:

Ответ в темуСоздание новой темы Создание опроса
> умное удаление дубликатов 
:(
    Опции темы
Rostik Ultra
Дата 27.2.2008, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 16.12.2004

Репутация: нет
Всего: нет



подскажите плз код скрипта который мог бы очистить список строк в textarea от очевидных но неявных дубликатов (регистр букв и знаки препинания не важны)
- которые отличаются порядком слов
- в которых присутствуют короткие слова < N знаков (например предлоги длиной < 3 знаков)

например
Цитата

солнечное утро
утро солнечное
на утро, солнечное


скрипт должен вернуть
Цитата

солнечное утро

--------------------
PM MAIL   Вверх
dstorm81
Дата 28.2.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: нет
Всего: 39



что курим рустик Rostik Ultra

Цитата(Rostik Ultra @  27.2.2008,  23:03 Найти цитируемый пост)

солнечное утро
утро солнечное
на утро, солнечное


должно вернуть
солнечное утро

вариант такой
var str='солнечное утро утро солнечное на утро, солнечное';
var ar=new Array();
ar=str.split(' ').sort();//вносим в массив, считая что пробел это разделитель и сортируем

затем проводим сравнение на i го и i+1 го элементов
если они одинаковы то i+1 или i элемент удаляем из массива, ищем с правочнике как это сделать

а затем, тут уже играет ваша фантазия, ибо не могу предположить как в руссом языке надо расставлять слова правильно


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
sergejzr
Дата 28.2.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



dstorm81, ему надо строки сравнивать и дубликаты удалять, а не слова во всём тексте.

т.е
1) Нормализация текста: Из каждой строки удаляются предлоги, знаки препинания. Весь техт проводится к нижнему регистру (как альтернатива, производится стемминг - отделение и удаление приставок и окончаний)
2) Нормализация строк:  как написал dstorm81, сортировка того что получилось, но построково
3) Тупое сравнение строк: (лучше Хеш таблица) для нахождения дубликатов




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.