# ExFuzzywuzzy
[![Build Status](](
[![Module Version](](
[![Hex Docs](](
[![Total Download](](
[![Last Updated](](

ExFuzzyWuzzy is a fuzzy string matching library that provides many ways of calculating
a matching ratio between two strings, starting from a similarity function which can be
based on Levenshtein or Jaro-Winkler or a custom one.

The library is an Elixir port of SeatGeek's [fuzzywuzzy](

## Installation

To install ExFuzzyWuzzy, just add an entry to your `mix.exs`:
def deps do
    {:ex_fuzzywuzzy, "~> 0.1.0"}

## Usage
<!--MDOC !-->

Choose the ratio function which fits best your needs among the available, 
providing the two strings to be matched and - if needed - overwriting options 
over the configured ones.

Available methods are:
- Simple ratio
- Quick ratio
- Partial ratio
- Token sort ratio
- Partial token sort ratio
- Token set ratio
- Partial token set ratio
- Best score ratio

Available options are:
- Similarity function (Levenshtein and Jaro-Winkler provided in library)
- Case sensitiveness of match
- Decimal precision of output score

Here are some examples.

### Simple ratio
iex> ExFuzzywuzzy.ratio("this is a test", "this is a test!")

### Quick ratio
iex> ExFuzzywuzzy.quick_ratio("this is a test", "this is a test!")

### Partial ratio
iex> ExFuzzywuzzy.partial_ratio("this is a test", "this is a test!")

### Best Score ratio
iex> ExFuzzywuzzy.best_score_ratio("this is a test", "this is a test!")
{:quick, 100.0}
<!--MDOC !-->

## Contributing
Thank your for considering helping with this project. Please see
`` file for contributing to this project.

## License
MIT License. Copyright (c) 2015-2021