Сравнение строк по неполному совпадению - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите возможно ли сравнение строк по неполному совпадению. Т.е. если несколько символов пропущены или отличаются. "Неполное совпадение соответствует выбору" = "Неполое совпадение сооетствует выбору" Заранее спс

Решение задачи: «Сравнение строк по неполному совпадению»

textual
Листинг программы
static bool PartialCompare(string str1, string str2, double partiality) {
    int len = str1.Length;
    if (len != str2.Length)
        throw new NotSupportedException("Этот метод пока не поддерживает сравнение разных по длине строк.");
    if (len == 0)
        throw new ArgumentException("Строка не должна быть пустой.");
    int equalChars = 0;
    for (int i = 0; i < len; i++)
        if (str1[i] == str2[i])
            equalChars++;
    // Строки не обеспечивают достаточную степень сходства
    if ((double)equalChars / len < partiality)
        return false;
    // Строки частично равны
    return true;
}
 
static void Main(string[] args) {
    string s1 = "Абдоминальный тип ожирения";
    string s2 = "Адбоменальний дип ожигения";
    Console.WriteLine(PartialCompare(s1, s2, 0.1));
    Console.WriteLine(PartialCompare(s1, s2, 0.5));
    Console.WriteLine(PartialCompare(s1, s2, 0.9));
    Console.WriteLine(PartialCompare(s1, s2, 1d));
    Console.WriteLine(PartialCompare("Hello", "Hello", 1d));
}

Оцени полезность:

11   голосов , оценка 3.727 из 5