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 |
#2162 in Algorithms
8,477 downloads per month
Used in 19 crates
(13 directly)
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);