StringSearchUtilities Class
public static class StringSearchUtilitiesNo documentation is available.
Methods
| Name | Description |
|---|---|
| Hamming(string, string) | Compute the Hamming distance. |
| Hamming(uint, uint) | Compute the Hamming distance. |
| Hamming<T>(IEnumerable<T>, IEnumerable<T>) | Compute the Hamming distance. |
| Levenshtein(ReadOnlySpan<char>, ReadOnlySpan<char>) | Compute the Levenshtein distance. |
| Levenshtein(ReadOnlySpan<char>, ReadOnlySpan<char>, int) | Compute the Levenshtein distance with a maximum distance threshold. |
| Levenshtein(string, string) | Compute the Hamming distance. |
| LevenshteinBatch(string, IReadOnlyList<string>, int) | Compute Levenshtein distance between one word and multiple candidates. |
| Metaphone(string) | |
| Soundex(string, IReadOnlyDictionary<char, byte>, IReadOnlyDictionary<string, char>?) | Compute the soundex of a string. |
| Soundex2(string) | Compute an improved French soundex. |
| SoundexEnglish(string) | Compute English soundex. |
| SoundexFrench(string) | Compute French soundex. |
Hamming overloads
Hamming(string, string)
StringSearchUtilities.csCompute the Hamming distance.
Parameters
Returns
int The hamming distance.
Exceptions
ArgumentException- Lists must have the same length.
Hamming(uint, uint)
StringSearchUtilities.csHamming<T>(IEnumerable<T>, IEnumerable<T>)
StringSearchUtilities.csCompute the Hamming distance.
public static int Hamming<T>(IEnumerable<T> word1, IEnumerable<T> word2) where T : notnullType parameters
T- Type of elements.
Parameters
word1IEnumerable<T>- The first list.
word2IEnumerable<T>- The second most.
Returns
int The hamming distance.
Exceptions
ArgumentException- Lists must have the same length.
Levenshtein overloads
Levenshtein(ReadOnlySpan<char>, ReadOnlySpan<char>)
StringSearchUtilities.csCompute the Levenshtein distance.
public static int Levenshtein(ReadOnlySpan<char> word1, ReadOnlySpan<char> word2)Parameters
word1ReadOnlySpan<char>- The first word.
word2ReadOnlySpan<char>- The second word.
Returns
int The Levenshtein distance.
Levenshtein(ReadOnlySpan<char>, ReadOnlySpan<char>, int)
StringSearchUtilities.csCompute the Levenshtein distance with a maximum distance threshold.
public static int Levenshtein(ReadOnlySpan<char> word1, ReadOnlySpan<char> word2, int maxDistance)Parameters
word1ReadOnlySpan<char>- The first word.
word2ReadOnlySpan<char>- The second word.
maxDistanceint- Maximum accepted distance. If the computed distance is greater, this method returns
maxDistance + 1.
Returns
int The Levenshtein distance, or maxDistance + 1 when the distance is greater than maxDistance.
Levenshtein(string, string)
StringSearchUtilities.csLevenshteinBatch(string, IReadOnlyList<string>, int)
StringSearchUtilities.csCompute Levenshtein distance between one word and multiple candidates.
public static int[] LevenshteinBatch(string word, IReadOnlyList<string> candidates, int maxDegreeOfParallelism = -1)Parameters
wordstring- Word used as reference.
candidatesIReadOnlyList<string>- Candidate words.
maxDegreeOfParallelismint- Maximum number of worker threads, or
-1for default.
Returns
int[] An array containing one distance per candidate.
Metaphone(string)
StringSearchUtilities.Metaphone.csSoundex(string, IReadOnlyDictionary<char, byte>, IReadOnlyDictionary<string, char>?)
StringSearchUtilities.Soundex.csCompute the soundex of a string.
public static string Soundex(string s, IReadOnlyDictionary<char, byte> dic, IReadOnlyDictionary<string, char>? replace = null)Parameters
sstring- The string.
dicIReadOnlyDictionary<char, byte>- Dictionary containing value of characters.
replaceIReadOnlyDictionary<string, char>?- List of replacement to do before computing the soundex.
Returns
string The soundex.
Exceptions
ArgumentException- Dictionary does not contain character a character of the string
s