#模糊字符串 #字符串匹配 #字符串 #模糊匹配 #工具 #文本 #Python包

fuzzywuzzy

纯Rust语言的FuzzyWuzzy模糊字符串匹配Python包的克隆版本,功能非常强大。

2个版本

使用旧的Rust 2015

0.0.2 2020年9月24日
0.0.1 2020年9月24日

#903 in 文本处理

Download history 354/week @ 2023-12-15 254/week @ 2023-12-22 216/week @ 2023-12-29 73/week @ 2024-01-05 159/week @ 2024-01-12 142/week @ 2024-01-19 152/week @ 2024-01-26 193/week @ 2024-02-02 166/week @ 2024-02-09 283/week @ 2024-02-16 267/week @ 2024-02-23 551/week @ 2024-03-01 281/week @ 2024-03-08 223/week @ 2024-03-15 185/week @ 2024-03-22 186/week @ 2024-03-29

1,053 每月下载量
用于 rgwml

GPL-2.0-only

26KB
516 代码行

fuzzywuzzy-rs

像老板一样进行模糊字符串匹配。它使用Levenshtein距离计算序列之间的差异,并提供了简单易用的包。

注意:该项目最初命名为 fuzzyrusty。其他人克隆并发布了它到crates.io https://crates.io/crates/fuzzyrusty我们无法控制那个crate。 因此,我们更改了名称。

安装

fuzzywuzzy 目前可通过GitHub或crates.io获取。

对于最新稳定版本,将以下内容添加到您的 Cargo.toml

[dependencies]
fuzzywuzzy = "*"

对于最新版本,可以直接从master分支拉取

[dependencies]
fuzzywuzzy = { git = "https://github.com/logannc/fuzzywuzzy-rs", branch = "master" }

文档

克隆仓库并运行 $ cargo doc --open

使用方法

简单比例

assert_eq!(fuzz::ratio("this is a test", "this is a test!"), 97);

部分比例

assert_eq!(fuzz::partial_ratio("this is a test", "this is a test!"), 100);

标记排序比例

assert_eq!(fuzz::ratio("fuzzy wuzzy was a bear", "wuzzy fuzzy was a bear"), 91);  
assert_eq!(fuzz::token_sort_ratio("fuzzy wuzzy was a bear", "wuzzy fuzzy was a bear", true, true), 100);

标记集比例

assert_eq!(fuzz::ratio("fuzzy was a bear", "fuzzy fuzzy was a bear"), 84);  
assert_eq!(fuzz::token_set_ratio("fuzzy was a bear", "fuzzy fuzzy was a bear", true, true), 100);

处理

assert_eq!(process::extract_one(  
  "cowboys",  
 &["Atlanta Falcons", "Dallas Cowboys", "New York Jets"],  
 &utils::full_process,  
 &fuzz::wratio,  
  0,  
), Some(("Dallas Cowboys".to_string(), 90)));

无运行时依赖