Я хочу найти простой и легкий алгоритм для сравнения двух простых строк.
Например, если мы возьмем эти две строки:
- "Быстрая коричневая лиса прыгает через ленивую собаку"
- "Плывут коричневые лисицы над сумасшедшей собакой"
Это должно означать, что две первые буквы второго слова различны и т.д.
На данный момент у меня есть очень простой алгоритм, который сравнивает слова:
/// <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 compact (WP7), и я не вижу ничего, что могло бы сравнить два файла или два текста, мне просто нужно сравнить слова.
Есть ли какая-нибудь библиотека или алгоритм, которые могут поместиться? Спасибо:).