Считать файл, и вывести только те предложения, что без двузначных чисел (доработать код) - C#

Узнай цену своей работы

Формулировка задачи:

короче пишу курсовик и в последнем задании реал не знаю как избежать такой дилеммы, в моем коде, если цифры находятся в конце предложения, то прога путается в индексах, плиз, реал не знаю уже как это поправить. Суть задания - считать файл, и вывести только те, что без двузначных чисел (пишу здесь первый раз)
 if (File.Exists("Text.txt"))
            {
                FileStream Text = new FileStream("Text.txt", FileMode.Open, FileAccess.Read);
                StreamReader Text_Reader = new StreamReader(Text, Encoding.Default);
                string line = Text_Reader.ReadLine();;
                string[] str = new string[line.Length];
                textBox4.Text = line;
                str = line.Split('.', '!', '?');
                
                string запасной;
                for (int i = 0; i < str.Length; i++)
                {
                    запасной = str[i];
                    for (int j = 0; j < запасной.Length; j++)
                    {
 
                        if (j == запасной.Length - 1) { textBox5.Text += " . " + str[i].ToString(); }
                        if (запасной[j] == '0' || запасной[j] == '1' || запасной[j] == '2' || запасной[j] == '3' || запасной[j] == '4' || запасной[j] == '5'|| запасной[j] == '6' || запасной[j] == '7' || запасной[j] == '8' || запасной[j] == '9')
                        {
                            int n = 0;
                            while (запасной[j + n] == '0' || запасной[j + n] == '1' || запасной[j + n] == '2' || запасной[j + n] == '3' || запасной[j + n] == '4' || запасной[j + n] == '5' || запасной[j + n] == '6' || запасной[j + n] == '7' || запасной[j + n] == '8' || запасной[j + n] == '9') { n++;  }
                            if (n == 1 || n > 2)j = j + n; 
                            if (n == 2) { break; }
                        }
                    }
                }
                Text_Reader.Close();
                Text.Close();
            }
                else
            {
                MessageBox.Show("Файл Text.txt не сущствует: ");
            }

Решение задачи: «Считать файл, и вывести только те предложения, что без двузначных чисел (доработать код)»

textual
Листинг программы
Regex r = new Regex(@"\D\d{2}\D");
textBox5.Text = string.Join(Environment.NewLine, str.Where(t => !r.IsMatch(t)));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы