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