Считать файл, и вывести только те предложения, что без двузначных чисел (доработать код) - 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)));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д