Сравнение двух текстов С# - C#
Формулировка задачи:
Здравствуйте, помогите пожалуйста, как сделать в C# вместо посимвольного сравнение строк, сравнить 2 текста в файле, на количество схожих слов и пробелов? И вообще можно ли это сделать? чтобы человек просто выбирал 2 файла и программа сравнивала их типа как антиплагиат?
Решение задачи: «Сравнение двух текстов С#»
textual
Листинг программы
public static void analizeFiles(String filePath1, String filePath2)
{
//Считать файлы
String firstFileText = File.ReadAllText(filePath1);
String secondFileText = File.ReadAllText(filePath2);
//Разбить по пробелу
String[] firstDirtyWords = firstFileText.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
String[] secondDirtyWords = secondFileText.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
//Очистить слова от начальных или конечных знаков, перевести все в нижний регистр
for (int i = 0; i < firstDirtyWords.Length; i++)
{
firstDirtyWords[i] = firstDirtyWords[i].ToLower();
if (!Char.IsLetterOrDigit(firstDirtyWords[i][0]))
firstDirtyWords[i] = firstDirtyWords[i].Substring(1, firstDirtyWords[i].Length - 2);
if (!Char.IsLetterOrDigit(firstDirtyWords[i][firstDirtyWords[i].Length - 1]))
firstDirtyWords[i] = firstDirtyWords[i].Substring(0, firstDirtyWords[i].Length - 2);
}
for (int i = 0; i < secondDirtyWords.Length; i++)
{
secondDirtyWords[i] = secondDirtyWords[i].ToLower();
if (!Char.IsLetterOrDigit(secondDirtyWords[i][0]))
secondDirtyWords[i] = secondDirtyWords[i].Substring(1, secondDirtyWords[i].Length - 2);
if (!Char.IsLetterOrDigit(secondDirtyWords[i][secondDirtyWords[i].Length - 1]))
secondDirtyWords[i] = secondDirtyWords[i].Substring(0, secondDirtyWords[i].Length - 2);
}
//Тут как-то анализировать полученные слова в переменных firstDirtyWords и secondDirtyWords
//...
}