Skip to content

levenshtein_distance

The Levenshtein edit distance between a and b: the fewest single-character insertions, deletions or substitutions needed to turn one into the other.

Operates on chars (Unicode scalar values), not bytes or grapheme clusters.

use helpers4::string::levenshtein_distance;

Cargo feature string (enabled by default). To compile only this module:

cargo add helpers4 --no-default-features --features string

or in Cargo.toml:

[dependencies]
helpers4 = { version = "0.0.7", default-features = false, features = ["string"] }
pub fn levenshtein_distance(a: &str, b: &str, case_sensitive: bool) -> usize
ParameterTypeDescription
a&strThe first string.
b&strThe second string.
case_sensitiveboolWhether the comparison is case-sensitive.

usize — The edit distance; 0 when a and b are equal (after case-folding when case_sensitive is false).

use helpers4::string::levenshtein_distance;

assert_eq!(levenshtein_distance("kitten", "sitting", true), 3);
assert_eq!(levenshtein_distance("Kitten", "kitten", false), 0);

src/string/levenshtein_distance.rs