Expand description
§Similar String - 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.
§Example
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])
§LCS Algorithm
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
Functions§
- compare_
similarity - Get score of similarity of two certain strings
- find_
best_ similarity - Find the string amongs the options that is the most similar to the target one
- get_
similarity_ ratings - Get all similarity scores against the target string
- lcs_
length - Get length of the longest common subsequence