diff --git a/FuzzySearchNet/src/FuzzySearchExact.cs b/FuzzySearchNet/src/FuzzySearchExact.cs index 93172b4..4c09cbe 100644 --- a/FuzzySearchNet/src/FuzzySearchExact.cs +++ b/FuzzySearchNet/src/FuzzySearchExact.cs @@ -14,7 +14,7 @@ public static IEnumerable FindExact(string subSequence, string text yield break; } - subSequence = invariantCultureIgnoreCase ? subSequence.ToLowerInvariant() : subSequence; + subSequence = invariantCultureIgnoreCase ? subSequence.ToUpperInvariant() : subSequence; // indexof would probably run circles around this... var needlePosition = 0; @@ -23,7 +23,7 @@ public static IEnumerable FindExact(string subSequence, string text foreach (var currentCharacter in text) { - if ((invariantCultureIgnoreCase ? char.ToLowerInvariant(currentCharacter) : currentCharacter) == subSequence[needlePosition]) + if ((invariantCultureIgnoreCase ? char.ToUpperInvariant(currentCharacter) : currentCharacter) == subSequence[needlePosition]) { if (needlePosition == termLength) { @@ -67,7 +67,7 @@ public static async IAsyncEnumerable FindExactAsync(string subSeque yield break; } - subSequence = invariantCultureIgnoreCase ? subSequence.ToLowerInvariant() : subSequence; + subSequence = invariantCultureIgnoreCase ? subSequence.ToUpperInvariant() : subSequence; var needlePosition = 0; var termLength = subSequence.Length - 1; @@ -83,7 +83,7 @@ public static async IAsyncEnumerable FindExactAsync(string subSeque { for (var currentIndex = 0; currentIndex < bytesRead; currentIndex++) { - if ((invariantCultureIgnoreCase ? char.ToLowerInvariant(buffer[currentIndex]) : buffer[currentIndex]) == subSequence[needlePosition]) + if ((invariantCultureIgnoreCase ? char.ToUpperInvariant(buffer[currentIndex]) : buffer[currentIndex]) == subSequence[needlePosition]) { if (needlePosition == termLength) { diff --git a/FuzzySearchNet/src/FuzzySearchLevenshtein.cs b/FuzzySearchNet/src/FuzzySearchLevenshtein.cs index 32d4be8..fc94ee5 100644 --- a/FuzzySearchNet/src/FuzzySearchLevenshtein.cs +++ b/FuzzySearchNet/src/FuzzySearchLevenshtein.cs @@ -24,7 +24,7 @@ internal static IEnumerable FindLevenshteinAll(string subSequenc yield break; } - subSequence = options.InvariantCultureIgnoreCase ? subSequence.ToLowerInvariant() : subSequence; + subSequence = options.InvariantCultureIgnoreCase ? subSequence.ToUpperInvariant() : subSequence; var candidates = new Stack(); for (var currentIndex = 0; currentIndex < text.Length; currentIndex++) @@ -79,7 +79,7 @@ internal static async IAsyncEnumerable FindLevenshteinAllA } var candidates = new Stack(); - subSequence = options.InvariantCultureIgnoreCase ? subSequence.ToLowerInvariant() : subSequence; + subSequence = options.InvariantCultureIgnoreCase ? subSequence.ToUpperInvariant() : subSequence; var startBuffer = subSequence.Length + options.MaxTotalDistance; bufferSize = ((startBuffer * 2 / bufferSize) + 1) * bufferSize; @@ -146,7 +146,7 @@ internal static async IAsyncEnumerable FindLevenshteinAllA [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static void HandleCandidate(Stack candidates, in CandidateMatch candidate, ReadOnlySpan text, string subSequence, int bestFoundDistance, FuzzySearchOptions options, int textLength) { - if (candidate.TextIndex < textLength && (options.InvariantCultureIgnoreCase ? char.ToLowerInvariant(text[candidate.TextIndex]) : text[candidate.TextIndex]) == subSequence[candidate.SubSequenceIndex]) + if (candidate.TextIndex < textLength && (options.InvariantCultureIgnoreCase ? char.ToUpperInvariant(text[candidate.TextIndex]) : text[candidate.TextIndex]) == subSequence[candidate.SubSequenceIndex]) { if (candidate.Distance < bestFoundDistance && options.CanInsert(candidate.Distance, candidate.Insertions)) { diff --git a/FuzzySearchNet/src/FuzzySearchSubstitutionsOnly.cs b/FuzzySearchNet/src/FuzzySearchSubstitutionsOnly.cs index f5ea172..15bd969 100644 --- a/FuzzySearchNet/src/FuzzySearchSubstitutionsOnly.cs +++ b/FuzzySearchNet/src/FuzzySearchSubstitutionsOnly.cs @@ -12,7 +12,7 @@ public static IEnumerable FindSubstitutionsOnly(string subSequence, yield break; } - subSequence = invariantCultureIgnoreCase ? subSequence.ToLowerInvariant() : subSequence; + subSequence = invariantCultureIgnoreCase ? subSequence.ToUpperInvariant() : subSequence; for (var currentIndex = 0; currentIndex < text.Length - (subSequence.Length - 1); currentIndex++) { @@ -21,7 +21,7 @@ public static IEnumerable FindSubstitutionsOnly(string subSequence, for (var termIndex = 0; termIndex < subSequence.Length; termIndex++) { - if ((invariantCultureIgnoreCase ? char.ToLowerInvariant(text[needlePosition]) : text[needlePosition]) != subSequence[termIndex]) + if ((invariantCultureIgnoreCase ? char.ToUpperInvariant(text[needlePosition]) : text[needlePosition]) != subSequence[termIndex]) { candidateDistance++; if (candidateDistance > maxDistance) @@ -61,7 +61,7 @@ public static async IAsyncEnumerable FindSubstitutionsOnlyAsync(str yield break; } - subSequence = invariantCultureIgnoreCase ? subSequence.ToLowerInvariant() : subSequence; + subSequence = invariantCultureIgnoreCase ? subSequence.ToUpperInvariant() : subSequence; var subSequenceLengthMinusOne = subSequence.Length - 1; @@ -89,7 +89,7 @@ public static async IAsyncEnumerable FindSubstitutionsOnlyAsync(str for (var subSequenceIndex = 0; subSequenceIndex < subSequence.Length; subSequenceIndex++) { var match = invariantCultureIgnoreCase - ? char.ToLowerInvariant(buffer[needlePosition]) == subSequence[subSequenceIndex] + ? char.ToUpperInvariant(buffer[needlePosition]) == subSequence[subSequenceIndex] : buffer[needlePosition] == subSequence[subSequenceIndex]; if (!match)