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 次下载
6KB
107 行
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