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 *;
// 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; // 0.75
let options = vec!;
// Finds the best match amongst the options
// and returns match with it's rating
find_best_similarity; // ("night", 0.8)
// Returns all the similarity ratings
// of the provided options
get_similarity_ratings; // [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 lcs_length;
// The longest common subsequence in this case is "one"
lcs_length; // 3
Change log 🚀
Version 1.3.0
Feature:
- Add
get_similarity_ratingsfunction that retrieves all the ratings of all options - Improve algorithm to take O(min(n, m)) memory complexity
Version 1.2.0
Feature:
- Add
find_best_similarityfunction that finds string that matches the target one best