Сравнение строк по неполному совпадению - 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)); }