проблема с единственным и множественным числом

#c# #asp.net

#c# #asp.net

Вопрос:

Я нахожу недостающее слово из первой строки при сравнении двух строк

во время выполнения я ввожу предложение:

  • первое предложение: это мое тестирование на соответствие алгоритмам
  • второе предложение: это мое тестирование алгоритма сопоставления для приложения по веб-сайту

теперь я удаляю во время выполнения свое ключевое слово во втором предложении и теперь выгляжу так (это проверка алгоритма сопоставления для приложения по веб-сайту), а затем нажимаю кнопку показать съемный

текущий вывод:

Поиск пропущенных слов: для сопоставления алгоритмов

Я хочу:

мой

.aspx:

  <asp:TextBox ID="ftextbox" runat="server" TextMode="MultiLine" Width="500px" Height="200px"></asp:TextBox>

<asp:TextBox ID="stextbox" runat="server" TextMode="MultiLine" Width="500px" Height="200px"></asp:TextBox>

<asp:Button ID="Button2" runat="server" Text="Show Removable Text" OnClick="Button2_Click"/><br />
  

.aspx.cs

         protected void Button2_Click(object sender, EventArgs e)
        {
            int i = 0;
            string tests;

            if (IsPostBack)
            {
                Label4.Text = "";
            }
            var string1 = ftextbox.Text.Split(' ');
            var string2 = stextbox.Text.Split(' ');

            //var result = string1.Except(string2);                 // means if want which is in first not in 2nd 

            foreach (var word in string1)
            {
                if (word == string2[i] || word   "ing" == string2[i] || word   "es" == string2[i] || word   "ies" == string2[i] || word.Replace("oo", "ee") == string2[i])
                {
                    string1[i] = "";
                    i  ;
                }
            }

            tests = String.Join(" ", string1);

            Label4.Text  = "Missing Word Finds: "   string.Join(" ", tests)   "<br/><br/>";

        }
  

Изображение вывода

https://www.ef.com/in/english-resources/english-grammar/singular-and-plural-nouns / — связь единственного и множественного числа

пожалуйста, помогите

Комментарии:

1. Под «поиском недостающего слова» вы имели в виду, что вам нужно найти слова, которые находятся во второй строке, но не в первой строке, верно? Почему вы проверяете эти «ing», «es» и т. Д.?

2. смотрите, я проясняю ваши сомнения first sentence : This is my testing for matching algoritham и second sentence : This is my testing for matchings algoritham for application by website (now I remove the my keyword from the second string) и now I want to only :my

3. @LeoRossetti Я удаляю ключевое слово my из второй строки, которая доступна в первой строке, я хочу получить это слово (my)

4. Вы хотите вернуть пропущенное первое слово при сравнении двух строк, верно? В вашем примере вы удалили слово «my», поэтому при сравнении обеих строк вам нужна программа, которая возвращает это первое пропущенное слово. Это верно?

5. Я могу привести вам пример программы, которая сравнивает 2 строки и возвращает список всех пропущенных слов при сравнении string1 со string2. Поможет ли это вам?

Ответ №1:

Дайте мне знать о любых сомнениях или, если я неправильно понял это:

Я сделал это на консоли C #, вам просто нужно адаптировать некоторые простые переменные.

             string textBox1 = "This is my testing for matching algoritham";
            string textBox2 = "This is testing for matchings algoritham for application by website";

            var string1 = textBox1.Split(' ');
            var string2 = textBox2.Split(' ');

            List<string> string2List = textBox2.Split(' ').ToList();

            string tests;

            List<string> missingWords = new List<string>();

            foreach (var word in string1)
            {
                if (!string2List.Contains(word) amp;amp; !word.EndsWith("ing") amp;amp; !word.EndsWith("es") amp;amp; !word.EndsWith("ies"))
                {
                    missingWords.Add(word);
                }

                //if (word == string2[i] || word   "ing" == string2[i] || word   "es" == string2[i] || word   "ies" == string2[i] || word.Replace("oo", "ee") == string2[i])
                //{
                //    string1[i] = "";
                //    i  ;
                //}
            }

            tests = String.Join(" ", missingWords);

            Console.Write("Missing Word Finds: "   string.Join(" ", tests));
  

Комментарии:

1. работает нормально, но когда я удаляю два слова из второй строки, они не работают из break; -за того, что это причина

2. Я пытаюсь продержаться два дня, пожалуйста, помогите

3. смотрите это изображение i.stack.imgur.com/rypvL.png Я удалил два слова из второй строки (my,for), но оно отображает только мое, потому что два раза доступно во второй строке

4. Да, код вернет только те слова, которые отсутствуют, и поскольку у нас есть несколько ссылок на слово «for», как вы знаете, если вы удалите только одну ссылку, у нас останется другая. Поэтому он не будет указан.

5. есть ли у вас какое-либо решение для этого?