An algorithm provides scores between 0.0 (no match) to 1.0 (perfect match) for a comparison of two strings.
The algorithm is designed for auto-completion. For string similarity, please check Levenshtein distance (Wagner–Fischer algorithm).
Include the library:
from stringscore import liquidmetal
Score any string against an abbreviation:
>>> liquidmetal.score('FooBar', 'foo') 0.95 >>> liquidmetal.score('FooBar', 'fb') 0.916666666667 >>> liquidmetal.score('Foo Bar', 'fb') 0.928571428571 >>> liquidmetal.score('Foo Bar', 'baz') 0.0 >>> liquidmetal.score('Foo Bar', '') 0.8
- Quicksilver's scoreForAbbreviation algorithm by Alcor (Blacktree, Inc)
- LiquidMetal by Ryan McGeary
- string_score by Joshaven Potter
- jQuery.fuzzyMatch by Rapportive
String Score is released under the MIT License.
Copyright © 2003 Blacktree, Inc (Original author of Quicksilver)
Copyright © 2009 Ryan McGeary (Author of LiquidMetal)
Copyright © 2013 Grey Lee