Поиск подстроки с помощью регулярного выражения - C# (188871)

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

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

Дан текстовый файл, имеющий структуру "Фамилия И.О. - улица - номер дома - квартира - номер телефона". Вывести фамилии всех абонентов проживающих на улице Реввоенсовета. Помогите найти ошибку в коде.
Листинг программы
  1. textBox1.Text = "Не определено";
  2. openFileDialog1.Filter = "txt files (*.txt)|*txt";
  3. if (openFileDialog1.ShowDialog() == DialogResult.OK)
  4. {
  5. StreamReader f = new StreamReader(openFileDialog1.FileName, Encoding.GetEncoding(1251)) ;
  6. Regex r = new Regex(@"^([А-Я][а-я]+)\s+([А-Я])\.\s*([А-Я])\.\s+(\d+)\s+(\d+)$");
  7. Regex r1 = new Regex("Реввоенсовет");
  8. string s;
  9. while ((s = f.ReadLine())!= null)
  10. {
  11. Match match = r.Match(s);
  12. Match match1 = r1.Match(s);
  13. if (match.Success && match1.Success)
  14. {
  15. textBox1.Text += match.Groups[2].Value + "\n";
  16. }
  17. }
  18. if (textBox1.Text == "") textBox1.Text = "Не найдено";
  19. }
  20. else textBox1.Text = "Файл не может быть открыт";

Решение задачи: «Поиск подстроки с помощью регулярного выражения»

textual
Листинг программы
  1. namespace ConsoleApplication56
  2. {
  3.     class Program
  4.     {
  5.         static void Main(string[] args)
  6.         {
  7.             List<string> Correct = new List<string>();
  8.             string[] strs = new string[] { "Фамилия И.О. - улица - номер дома - квартира - номер телефона", "Иванов И.О. - Переулок Реввоенсовета малый - номер дома - квартира - номер телефона", "Фамилия И.О. - улица - номер дома - квартира - номер телефона" };
  9.             //strs = File.ReadAllLines(filename);
  10.             foreach (string str in strs)
  11.             {
  12.                 var mt = Regex.Match(str, @"[^-]*(?=.*?Реввоенсовета)");
  13.                 if(mt.Success) Correct.Add(mt.Value);
  14.             }
  15.             foreach (var v in Correct) Console.WriteLine(v);
  16.             Console.Read();
  17.         }
  18.     }
  19. }

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


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

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

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы