This is a rust library for approximate string matching algorithms.
Possible applications for this are fuzzy string searching, spell checkers, spam filters, etc.
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)
distance is available on crates.io.
[dependencies]
distance = "0.4"
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);