#string #list #matches #fuzzy #target #input #word

closestmatch

此库通过模糊匹配输入字符串与目标字符串列表

3 个版本

使用旧的 Rust 2015

0.1.2 2017年4月11日
0.1.1 2017年4月9日
0.1.0 2017年4月9日

#21 in #matches

每月 26 次下载

MIT 许可证

6KB
107

Build Status

closestmatch-rs

此库通过模糊匹配输入字符串与目标字符串列表。

为何选择此库

假设你有一组单词,称为已知单词的字典,例如 ["hello","good","rust"]。你还有一个单词,例如 "hllo",你想要从字典中找到最接近的匹配项。这是此库的主要功能。

工作原理

该库基于词袋的概念,通过将字符串拆分为子字符串来计算相似度。使用此库的开发者可以指定词袋的长度。

文档

您可以在此处找到文档

示例

let known_words = ["hello".to_string(), "rust".to_string(), "hello world".to_string()].to_vec();
//The second parameter specify that strings will be splitted in bags of words of length 2 and 3.
let cm = ClosestMatch::new(known_words,[2, 3].to_vec());
let closest = cm.get_closest("hlo".to_string());
println!("{}", closest)

这将打印 Some("hello")

依赖项

~1.5MB
~26K SLoC