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

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

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

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

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

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

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


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

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

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