Forum Webscript.Ru
Программирование => Perl => Тема начата: kosm от 21 Августа 2003, 10:54:50
-
Уважаемые мастера. Подскажите плиз метод сравнения двух не одинаково написанных строк. Т.е.:
--
МАША ЕЛА КАШУ == ЕЛА КАШУ, МАША
Какие есть методы их сравнить и считать идентичныи?
На вскидку есть:
1.Желание убрать все знаки припинания.
2.Сразу попробовать сравнить на точное соответствие
3.Затем на кол-во входящих слов
И чем дальше, тем строку считать больее не подходящей.
Есть еще решения такой задачи?
СПАСИБО!
-
Первый придуманый вариант:
Разбить на слова - положить одно предложение в один хеш а другое в другой.
Далее срастить хеши и если количество элементов до сращивания и после одинаково - то это похожие предложения.
Еще нужно вставить счетчик на каждый элемент хеша и его тоже сравнивать.
Это для исключения разного количества одного и того же слова.
-
NeoNox
Спасибо! Интересный способ. Попробую.
А нет чего-нить подобного в библах? Типа SOUNDEX для БД. Это конечно немного не то, но мож чего уже готовое есть?
-
есть. искать на cpan
-
Спасибо! Состряпал ф-цию. Вроде работает как хотел :)