### 4 releases (breaking)

Uses old Rust 2015

0.4.0 | Jul 10, 2016 |
---|---|

0.3.0 | Jun 30, 2016 |

0.2.0 | Jun 28, 2016 |

0.1.0 | Jun 27, 2016 |

#**2135** in Algorithms

**7,912** downloads per month

Used in **18** crates
(12 directly)

**Apache-2.0**

19KB

319 lines

# distance

This is a rust library for approximate string matching algorithms.

Possible applications for this are fuzzy string searching, spell checkers, spam filters, etc.

## Algorithms

All algorithms support UTF-8 encoded strings.

- Levenshtein distance (since v0.1)
- Hamming distance (since v0.2)
- Damerau Levenshtein distance (since v0.3)
- Sift3 distance (since v0.4)

## Add as dependency

distance is available on crates.io.

`[``dependencies``]`
`distance ``=` `"`0.4`"`

## Usage

`use` `distance``::``*``;`
`//` Levenshtein distance
`let` distance `=` `levenshtein``(``"`hannah`"``,` `"`hanna`"``)``;`
`assert_eq!``(``1``,` distance`)``;`
`//` Damerau Levenshtein distance
`let` distance `=` `damerau_levenshtein``(``"`hannah`"``,` `"`hannha`"``)``;`
`assert_eq!``(``1``,` distance`)``;`
`//` Hamming distance
`let` distance `=` `hamming``(``"`karolin`"``,` `"`kathrin`"``)``.``unwrap``(``)``;`
`assert_eq!``(``3``,` distance`)``;`
`//` Sift3 distance
`let` distance `=` `sift3``(``"`hannah`"``,` `"`hanna`"``)``;`
`assert_eq!``(``0.``5``,` distance`)``;`