Ranjeeth Kumar Vootukuri Ответов: 2

Как я могу получить измененные слова между двумя строками в ASP.NET


In my web application, i have two strings and i need to display modified words and count between them.For example:


    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="When you are wrting server code yu cannn never be sure what the IP address you see is refering to.In fact some users like it this way";

    the result should be, modified words : wrting,yu ,cannn ,refering 
                          modified words count :4

how to do this can anyone tell me.

Thank you


Что я уже пробовал:

var result2 = variable2. Split(new char [] { '' }).Кроме (variable1. Split(new char [] { '' })).Метод toArray();

кол-во = результат2.Длина;

Этикетка 3.Text = "измененное слово:" + result2[0].Метод toString() + "
"+"Модифицированный Граф:" + граф.Метод toString();

2 Ответов

Рейтинг:
1

Karthik_Mahalingam

попробовать это

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 = "When you are wrting server code yu cannn never be sure what the IP address you see is refering to.In fact some users like it this way";


      string[] var1Words = variable1.Split(' ');
      string[] var2Words = variable2.Split(' ');


      string modified = "";
      List<string> lstModifiedWords = new List<string>();
      if (var1Words.Length == var1Words.Length)
      {
          for (int i = 0; i < var1Words.Length; i++)
              if (var1Words[i] != var2Words[i])
                  lstModifiedWords.Add(var1Words[i]);
      }
      modified = "Modified words:" + string.Join(",", lstModifiedWords) + " Modified Count:" + lstModifiedWords.Count;


Ranjeeth Kumar Vootukuri

строка s1= " когда вы пишете серверный код, вы никогда не можете быть уверены, на какой IP-адрес вы видите реферирование.На самом деле некоторым пользователям это нравится.";
строка S2="это написать любое сервера код Ю не cannn быть уверены, что IP-адрес вы видите на.На самом деле некоторым пользователям это нравится";


результат должен быть, изменены слова : написать любое,ю ,cannn ,ссылаясь
количество измененных слов :4

Мне нужно показать как это может кто-нибудь сказать мне
Спасибо

Рейтинг:
1

Dev O'Connor

Привет
вы можете разбить каждую строку на массив как таковой, а затем проверить количество каждого массива. Затем проверьте подсчеты, чтобы увидеть, какой из них больше, что-то было изменено с точки зрения длины слов.

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(string.Join(", ",Program.getDifferences("MY STRING IS GREAT", "MY STRING IS AWESOME")));
            Console.WriteLine(string.Join(", ", Program.getDifferences("MY STRING IS GREAT", "MY STR1NG IS GR3AT")));
            Console.ReadKey();

        }

        public static List<string> getDifferences(string StartString, string EndString)
        {
            //Split out
            IEnumerable<string> startStringSet = StartString.Split(' ');
            IEnumerable<string> endStringSet = EndString.Split(' ');

            if (StartString.Count() == 0 && endStringSet.Count() == 0)
            {
                //Return Empty List
                return new List<string>();
            }
            else if (startStringSet.Count() < endStringSet.Count())
            {
                //Return list excluding items in the End String
                return endStringSet.Except(startStringSet).ToList();
            }
            else
            {
                //Return list excluding items in the starting string
                return endStringSet.Except(startStringSet).ToList();
            }

        }
    }


Выход Есть:

AWESOME
STR1NG, GR3AT


Надеюсь, это поможет

С уважением
Дейв