Jak w temacie. Mam dwa stringi i chce sprawdzić czy jeden jest podobny do drugiego. Potrzebuję tego do zrobienia wyszukiwarki. Z góry dziękuję.
EDIT
no pomóżcie proszę
Jak w temacie. Mam dwa stringi i chce sprawdzić czy jeden jest podobny do drugiego. Potrzebuję tego do zrobienia wyszukiwarki. Z góry dziękuję.
EDIT
no pomóżcie proszę
Co to znaczy "podobny"? Zaczyna się tak samo? Kończy się tak samo? Jeden zawiera się w drugim? Czy jeszcze coś innego?
Uff trudno jednoznacznie zdefiniować. Jakbym umiał to bym sam zrobił. Jeżeli jeden string to "drzewo" a drugi to "drzewa" to są podobne. Jeżeli jeden string to "mama" zaś drugi to "kocham mamę" to też są podobne
Możesz napisać funkcję, która będzie zwracała procent podobieństwa. Działałaby ona na zasadzie, że np. po kolei sprawdza czy takie same literki tu i tu na tym samym miejscy, długości stringów, zawartość jednego stringa w drugim (mniejszego w większym?) itd.
Mamazur napisał(a)
Uff trudno jednoznacznie zdefiniować. Jakbym umiał to bym sam zrobił. Jeżeli jeden string to "drzewo" a drugi to "drzewa" to są podobne. Jeżeli jeden string to "mama" zaś drugi to "kocham mamę" to też są podobne
Jeśli nie potrafisz zdefiniować, to znaczy, że nie wiesz co chcesz zrobić, czyli nie da się tego zrobić.
Z tego, co rozumiem, potrzebujesz jakiejś formy wyszukiwania pełnotekstowego. Może coś takiego: http://incubator.apache.org/lucene.net/ by Cię zadowoliło?
Możesz też spróbować jakiejś prostej, samodzielnej implementacji. Np. rozbijać łańcuch na pojedyncze słowa, następnie sprawdzać zawieranie się w nich poszukiwanego słowa albo liczyć odległość Levenshteina.
Dziękuję za pomoc. Levenstheina łatwo można było do własnych potrzeb dostosować.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.