string_metrics library

A collection of algorithms for strings or similar data structures.

Functions

damerauLevenshteinDistance<E>(List<E> source, List<E> target) int
Finds the Damerau–Levenshtein distance between two lists which allows deletion, insertion, substitution and transposition using Wagner–Fischer algorithm
damerauLevenshteinDistanceOf(String source, String target, {bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) int
Finds the Damerau–Levenshtein distance between two strings which allows deletion, insertion, substitution and transposition using Wagner–Fischer algorithm
diceIndex<E>(List<E> source, List<E> target) double
Finds the Sørensen–Dice coefficient of two list of items.
diceIndexOf(String source, String target, {int ngram = 1, bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) double
Finds the Sørensen–Dice coefficient of two strings.
hammingDistance<E>(List<E> source, List<E> target, {DualEqualityTest<E, E>? test}) int
Finds the Hamming distance between two lists.
hammingDistanceOf(String source, String target, {bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) int
Finds the Hamming distance between two strings.
jaccardDistance<E>(Iterable<E> source, Iterable<E> target) int
Returns the Jaccard distance between two list of items.
jaccardDistanceOf(String source, String target, {int ngram = 1, bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) int
Returns the Jaccard distance between two strings.
jaccardIndex<E>(List<E> source, List<E> target) double
Returns the Jaccard index between two list of items.
jaccardIndexOf(String source, String target, {int ngram = 1, bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) double
Returns the Jaccard index between two strings.
jaroSimilarity<E>(List<E> source, List<E> target) double
Find the Jaro Similarity index between two list of items.
jaroSimilarityOf(String source, String target, {bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) double
Find the Jaro Similarity index between two strings.
jaroWinklerSimilarity<E>(List<E> source, List<E> target, {int? maxPrefixSize, double? prefixScale, double threshold = 0.7}) double
Find the Jaro-Winkler similarity index between two list of items.
jaroWinklerSimilarityOf(String source, String target, {int? maxPrefixSize, double? prefixScale, double threshold = 0.7, bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) double
Find the Jaro-Winkler Similarity index between two strings.
leeDistance(List<int> source, List<int> target, int q) int
Finds the Lee distance between two lists.
leeDistanceOf(String source, String target, {int q = 1 << 16, KeyOf<String, int>? keyOf, bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) int
Finds the Lee distance between two strings.
levenshteinDistance<E>(List<E> source, List<E> target, {DualEqualityTest<E, E>? test}) int
Finds the Levenshtein distance between two lists which allows deletion, insertion and substitution using Wagner–Fischer algorithm
levenshteinDistanceOf(String source, String target, {bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) int
Finds the Levenshtein distance between two strings which allows deletion, insertion and substitution using Wagner–Fischer algorithm
longestCommonSubsequenceLength<E>(List<E> source, List<E> target, {DualEqualityTest<E, E>? test}) int
Returns the length of the longest common subsequence of two list of items.
longestCommonSubsequenceLengthOf(String source, String target, {bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) int
Returns the length of the longest common subsequence of two strings.
restrictedDamerauDistance<E>(List<E> source, List<E> target, {DualEqualityTest<E, E>? test}) int
Finds the restricted Damerau-Levenshtein edit distance between two lists using Wagner–Fischer algorithm
restrictedDamerauDistanceOf(String source, String target, {bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) int
Finds the restricted Damerau-Levenshtein edit distance between two strings using Wagner–Fischer algorithm
tverskyIndex<E>(Iterable<E> source, Iterable<E> target, {double alpha = 0.5, double beta = 0.5}) double
Finds the Tversky similarity index between two lists.
tverskyIndexOf(String source, String target, {int ngram = 1, double alpha = 0.5, double beta = 0.5, bool ignoreCase = false, bool ignoreWhitespace = false, bool ignoreNumbers = false, bool alphaNumericOnly = false}) double
Finds the Tversky similarity index between two strings.