2012-05-01 9 views
11

मेरे पास स्ट्रिंग्स की एक सूची है, जिनमें से कुछ को मेरी पिछली रिलीज के बाद संशोधित किया गया है। कुछ बदलाव तुच्छ हैं (दूरी, एक शब्द से दूर, आदि)। मैं उन तारों का पता लगाना चाहता हूं जिनमें केवल "मामूली" मतभेद हैं, ताकि यदि संभव हो तो मैं पुराने अनुवादों का उपयोग करने का प्रयास कर सकता हूं।स्ट्रिंग्स का पता लगाने के लिए नियमित रूप से आवश्यकता है जो समान हैं लेकिन समान नहीं हैं

मेरा मतलब "मामूली मतभेद" से क्या है? मैं तब तक नहीं जानूंगा जब तक कि मैं डेटाबेस के साथ काम करना शुरू नहीं करता।

क्या आप किसी भी ट्यूनेबल दिनचर्या के बारे में जानते हैं जो इंगित करेगा कि दो तार समान हैं लेकिन समान नहीं हैं? कोई भी दिनचर्या जो एक संख्या वापस करेगी यह दर्शाती है कि दो तार अलग-अलग हैं?

+2

आपको ग्रेड करने के तरीके की आवश्यकता होगी कि समान स्ट्रिंग कैसे हैं। ऐसा करने के लाखों तरीके हैं। यहां एक धागा है, विभिन्न उत्तरों देखें: http://stackoverflow.com/questions/4323977/string-similarity-score-hash –

+0

यह सुनिश्चित होगा कि आपको कुछ नया मिलेगा जो ऊपर या नीचे दिए गए लिंक में नहीं था। कृपया वापस आएं और हमें बताएं कि आपने क्या किया। –

उत्तर

8

ऐसे कई एल्गोरिदम हैं। कीवर्ड फ़ज़ी स्ट्रिंग मिलान हैं।

एक प्रसिद्ध व्यक्ति Levenshtein distance है। इसके द्वारा आप एक स्ट्रिंग को दूसरे में बदलने के लिए आवश्यक "परिवर्तन" की संख्या की गणना कर सकते हैं, जिससे यह आपको अनुमान लगाता है कि तारों के समान कैसा है।

यह प्रश्न भी देखें: How to search for similar words डेल्फी में समाधान के लिए।

+0

धन्यवाद! उत्तम! –

+6

यह भी देखें [कैसे करें-आप-कार्यान्वयन-लेवेनशेटिन-दूरी-इन-डेल्फी] (http://stackoverflow.com/q/54797/576719)। –

संबंधित मुद्दे