Простой алгоритм сравнения слов

В настоящее время я ищу простой и легкий алгоритм для сравнения двух простых строк.

Например, если мы возьмем эти две строки:

  • «Быстрая коричневая лиса перепрыгивает через ленивую собаку».
  • «Коричневая лисица набрасывается на сумасшедшую собаку»

Это должно сигнализировать мне, что две первые буквы второго слова различны и т. д.

На данный момент у меня есть очень простой алгоритм, который сравнивает слова:

/// <summary>
    /// Make a diff between two strings and returns words indices
    /// </summary>
    /// <param name="a"></param>
    /// <param name="b"></param>
    /// <returns></returns>
    public static List<int> Diff(string a, string b)
    {
        List<int> indices = new List<int>();

        string[] asplit = a.Split(' ');
        string[] bsplit = b.Split(' ');

        for (int i = 0; i < asplit.Length; i++)
        {
            if (bsplit.Length > i)
            {
                if (asplit[i].CompareTo(bsplit[i]) != 0)
                {
                    indices.Add(i);
                }
            }
        }

        return indices;
    }

Таким образом, это подскажет мне, какие слова (с использованием разделения пробелами )отличаются друг от друга

Я читал здесь много тем о реализации сложного алгоритма или использовании существующей библиотеки

. ] Но я переучился на компактный фреймворк.NET (WP7 )и мне не нужно что-то, что может сравнивать два файла или два текста, мне просто нужно сравнение слов.

Есть ли какая-нибудь библиотека или алгоритм, который может подойти? Спасибо :).

11
задан Valryon 26 April 2012 в 15:55
поделиться