fuzzywuzzy

Crates.iofuzzywuzzy
lib.rsfuzzywuzzy
version0.0.2
sourcesrc
created_at2020-09-24 05:53:04.142719
updated_at2020-09-24 05:57:30.696863
descriptionA pure-Rust clone of the incredibly useful fuzzy string matching python package, FuzzyWuzzy.
homepage
repositoryhttps://github.com/logannc/fuzzywuzzy-rs
max_upload_size
id292389
size43,752
Logan Collins (logannc)

documentation

README

fuzzywuzzy-rs

Fuzzy string matching like a boss. It uses Levenshtein Distance to calculate the differences between sequences in a simple-to-use package.

Note: This project was originally named fuzzyrusty. Someone else cloned and published it to crates.io https://crates.io/crates/fuzzyrusty. We do not control that crate. This is why we have changed the name.

Installation

fuzzywuzzy is currently available through GitHub or crates.io.

For the latest stable releas, add this to your Cargo.toml:

[dependencies]
fuzzywuzzy = "*"

For the bleeding edge, you can pull directly from master:

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

Documentation

Clone the repository and run $ cargo doc --open.

Usage

Simple Ratio

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

Partial Ratio

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

Token Sort Ratio

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);

Token Set Ratio

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);

Process

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)));
Commit count: 84

cargo fmt