Crates.io | similar-string |
lib.rs | similar-string |
version | 1.4.3 |
source | src |
created_at | 2022-08-06 17:16:45.841135 |
updated_at | 2022-08-09 14:14:09.423706 |
description | Find similar strings in Rust |
homepage | |
repository | https://github.com/Ph0enixKM/similar-string |
max_upload_size | |
id | 639930 |
size | 10,008 |
...the library for finding string similarities 🔎
With this library you can easily find rate of similarity of two strings or array of strings. Under the hood LCS (length finding variant) algorithm is used with O(n * m) time complexity and O(min(n, m)) memory complexity.
use similar_string::*;
// Compares similarity of two strings and returns similarity rating.
// The rating is returned as a f64 value in range from 0.0 to 1.0.
compare_similarity("age", "page"); // 0.75
let options = vec!["fill", "night", "ride"];
// The functions below return `None` if the provided slice is empty
// Finds the best match amongst the options
// and returns match with it's rating
find_best_similarity("fight", &options); // Some(("night", 0.8))
// Returns all the similarity ratings
// of the provided options
get_similarity_ratings("fight", &options); // Some([0.4, 0.8, 0.2])
You can also use the lcs_length
that is used under the hood to compute length of longest common subsequence.
use similar_string::lcs_length;
// The longest common subsequence in this case is "one"
lcs_length("longest", "stone"); // 3
Option
get_similarity_ratings
function that retrieves all the ratings of all optionsfind_best_similarity
function that finds string that matches the target one best