Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 03.09.2015
Сообщений: 5
1

Сравнение двух текстов С#

25.09.2015, 09:53. Показов 6086. Ответов 4
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста, как сделать в C# вместо посимвольного сравнение строк, сравнить 2 текста в файле, на количество схожих слов и пробелов? И вообще можно ли это сделать? чтобы человек просто выбирал 2 файла и программа сравнивала их типа как антиплагиат?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2015, 09:53
Ответы с готовыми решениями:

Сравнение на схожесть двух текстов
Здравствуйте! Задача такова что нужно сравнить два текста на схожесть и вывести результат в %....

Посимвольное сравнение текстов
Вопрос следующий, необходимо проверить текст на наличие ошибок. Есть исходный текст и проверяемый. ...

Задача по сравнению двух текстов
Добрый вечер! Не могу реализовать задачу: нужно сравнить два текста (максимум 10 предложений,...

Процентное соотношение совпадений двух текстов
Есть два текста без пробелов. Как их сравнить и написать процентное соотношение совпадений?...

4
Си-решеточник
140 / 134 / 60
Регистрация: 07.02.2011
Сообщений: 669
25.09.2015, 11:15 2
Нуу... Можно загрузить в 2 String, каждый с них Split'ом разбить на массивы (используя пробел как разделитель и исключая пустые вхождения). Таким образом получится 2 массива, в каждом с которых содержатся слова с разделительными знаками. В каждом из полученных элементов массива нужно убрать разделительные знаки (они, по логике, могут быть только либо в начале, либо в конце слова) и привести их все в нижний регистр (LowerCase). В итоге получите 2 массива со слов, которые содержатся в файлах. Теперь с ними можно работать, например считать количество одинаковых слов и так далее. Только надо учитывать, что одинаковые слова могут быть в разных падежах и программа будет их считать за разные (разве что научить программу различать падежи, но это будет непросто).
как-то так
0
0 / 0 / 0
Регистрация: 03.09.2015
Сообщений: 5
25.09.2015, 11:28  [ТС] 3
А можно кусочек кода увидеть?) а то мои познания не такие глубокие в C# ((
0
Си-решеточник
140 / 134 / 60
Регистрация: 07.02.2011
Сообщений: 669
25.09.2015, 11:55 4
Вот кусочек:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
            //...
        }
0
0 / 0 / 0
Регистрация: 03.09.2015
Сообщений: 5
25.09.2015, 13:49  [ТС] 5
Спасибо большое попытаюсь разобраться
0
25.09.2015, 13:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2015, 13:49

Сравнение двух текстовых переменных и вывод их разницы в виде текста что отличается в двух массивах
Есть две текстовых переменных типа string. Необходимо вывести в третью переменную, разницу этих...

сравнение двух текстов
Подскажите, пожалуйста, программу (или сайт), с помощью которой можно сравнить два (или более)...

Сравнение на схожесть двух текстов
Ни у кого нет исходника в делфи программы для сравнения двух текстов, и вывода процента схожести...

Сравнение двух больших текстов
Есть два больших текста, отличающиеся друг от друга несколькими словами. Как выявить эти слова?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru