1 个不稳定版本
0.1.0 | 2023 年 3 月 17 日 |
---|
#1369 in 文本处理
每月 21 次下载
50KB
1K SLoC
Levenshtein-automaton
这可能是你想要的 crate,请使用这个: https://crates.io/crates/levenshtein_automata
主要区别是,这个 crate 有忽略大小写的选项。
lib.rs
:
此 crate 使构建一个计算给定字符串的 Levenshtein 距离的确定有限自动机(DFA)变得既快又简单。
示例
use veloci_levenshtein_automata::{LevenshteinAutomatonBuilder, Distance};
// Building this factory is not free.
let lev_automaton_builder = LevenshteinAutomatonBuilder::new(2, true);
// We can now build an entire dfa.
let dfa = lev_automaton_builder.build_dfa("Levenshtein", false);
let mut state = dfa.initial_state();
for &b in "Levenshtain".as_bytes() {
state = dfa.transition(state, b);
}
assert_eq!(dfa.distance(state), Distance::Exact(1));
实现基于以下论文:2002 年 Klaus Schulz 和 Stoyan Mihov 的快速字符串校正与 Levenshtein 自动机。我还在以下 博客文章 中尝试解释它。
!
依赖项
~0–395KB