2010-10-14 5 views
14

मान लें कि मेरे पास दो तार हैं, क्या यह जांचने का कोई तरीका है कि वे कम से कम 90% समान हैं या नहीं?निर्धारित करें कि जावास्क्रिप्ट में दो स्ट्रिंग समान हैं या नहीं?

var string1 = "theBoardmeetstoday,tomorrow51"; 
var string2 = "Board meets today, tomorrow"; 

धन्यवाद,

टेगन

उत्तर

14

Levenshtein distance के लिए विकिपीडिया प्रविष्टि एक नमूना कार्यान्वयन भी शामिल है ।

+2

धन्यवाद! यह शानदार काम करता है –

+3

क्या आप इस उदाहरण के साथ पृष्ठ के सटीक संशोधन के लिए एक लिंक प्रदान कर सकते हैं (यदि पृष्ठ से उदाहरण हटा दिया गया है?) –

+2

यहां पृष्ठ का विशिष्ट संशोधन (14 अक्टूबर, 2010 से) है: http: //en.wikipedia.org/w/index.php?title=Levenshtein_distance&oldid=384505495 ​​ –

8

jsdifflib अजगर उत्तम difflib पुस्तकालय का एक जावास्क्रिप्ट बंदरगाह है।

यह एक समारोह है ratio() जो "वापस [एस] में सीमा एक नाव के रूप में दृश्यों 'समानता का एक उपाय [0, 1]।"

+0

कि अब इस पर एक नज़र ले जा ... धन्यवाद –

4

String.levenshtein (एक प्लगइन MooTools)

यह बाहर की जाँच: http://mootools.net/forge/p/string_levenshtein

GitHub: https://github.com/thinkphp/String.levenshtein

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

Levenshtein दूरी एल्गोरिथ्म में इस्तेमाल किया गया है:

  • वर्तनी जांच
  • भाषण मान्यता
  • डीएनए विश्लेषण
  • साहित्यिक चोरी का पता लगाने
+2

यहां एक ही कोड है लेकिन बिना mootools निर्भरता - https://gist.github.com/luchaninov/a5730c453129ae159dfc – luchaninov

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

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