Как я могу получить измененные слова, вставленные слова и пропущенные слова между двумя строками в ASP.NET
В моем веб-приложении у меня есть две строки, и мне нужно отобразить пропущенные слова, которые считаются, вставляя слова, которые считаются, и измененные слова, которые считаются между ними.
Например:
string variable1= " когда вы пишете серверный код, вы никогда не можете быть уверены, на какой IP-адрес вы видите реферирование.На самом деле некоторым пользователям это нравится.";
строки variable2="когда написать любое сервера код Ю не cannn быть уверены Демонстрация какой у вас адрес.На самом деле Demo1 некоторым пользователям это нравится";
Результат должен быть:
Пропущенные слова: see, IP, you
Количество пропущенных слов: 3
Вставлено: Демо, Демо1
Количество вставленных слов: 2
Измененные слова: wrting, yu, cannn ,refering
Количество измененных слов :4
Я попробовал это сделать, но он не отображается должным образом
string variable1="When you are writing server code you can never be sure what the IP address you see is refereeing to.In fact some users like it this way."; string variable2="are wrting server code yu cannn never be sure **Demo** what the IP address you see is to.In fact **Demo1** some users like it this way"; //Missing Word Count var result = variable1.Split(new char[] { ' ' }).Except(variable2.Split(new char[] { ' ' })).ToArray(); count = result.Length; Label2.Text += "Missing Word Count: " + count.ToString() + "<br /><br />"; for (int i = 0; i < count; i++) { Label1.Text += "Missing Word: " + result[i].ToString() + "<br /><br />"; } //Insert Word var result1 = variable2.Split(new char[] { ' ' }).Except(variable1.Split(new char[] { ' ' })).ToArray(); count = 0; count = result1.Length; for (int i = 0; i < count; i++) { Label3.Text += "Insert Word: " + result1[i].ToString() + "<br /><br />"; } Label4.Text += "Insert Word Count: " + count.ToString() + "<br /><br />"; //Modifide Words string[] tempArr1 = variable1.Split(' '); string[] tempArr2 = variable2.Split(' '); int counter = 0; for (int i = 0; i < tempArr1.Length; i++) { if (tempArr1[i] != tempArr2[i]) { lblwords.text=tempArr1[i] + ", "+ tempArr2[i]; counter++; } }
Что я уже пробовал:
кто-нибудь может мне помочь
Спасибо
OriginalGriff
Перестаньте выкладывать один и тот же вопрос: даже если вы удалите предыдущие, у каждого из нас есть воспоминания, которые работают и могут рассказать...
Karthik_Mahalingam
:)
F-ES Sitecore
Слово "когда" отсутствует, так почему бы ему не быть частью вывода отсутствующих слов? Что диктует, если слово "считается" или нет? Откуда он знает, что" cannn "- это модифицированная версия"can"? Что такого в этих двух словах, что код знает, чтобы связать их?
То, что вы пытаетесь сделать, невероятно сложно и сложно. Эти задачи просты для человека, но десятилетние знания языка и грамматики человека не могут быть воспроизведены в нескольких утверждениях "если"и цикле. Вы, вероятно, рассматриваете создание какой-то формы нейронной сети или реализацию какой-то формы распознавания языка. Это далеко не тривиальная задача.