Определяет самую длинную последовательность цифр в тексте (считать, что любое количество пробелов между двумя - C#
Формулировка задачи:
Нахожу самую длинную последовательность, но пробел прерывает последовательность. Нужно, что бы не прерывал
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Text.RegularExpressions; namespace Laba2._3 { class var3 { static void Main(string[] args) { try { // Создем экземпляр StreamReader для чтения из файла. using (StreamReader sr = new StreamReader("123.txt")) { String line = sr.ReadToEnd(); Console.WriteLine(line); //string numbers = @"[0-9]+"; //foreach (Match match in Regex.Matches(line, numbers)) // Console.WriteLine(match.Value); string result = string.Empty; string temp = string.Empty; foreach (char n in line) { if (char.IsDigit(n)) { temp += n; } else { if (temp.Length > result.Length) { result = temp; } temp = string.Empty; } } Console.WriteLine(result); } } catch (Exception e) { Console.WriteLine("The file could not be read:"); Console.WriteLine(e.Message); } Console.ReadKey(); } } }
Решение задачи: «Определяет самую длинную последовательность цифр в тексте (считать, что любое количество пробелов между двумя»
textual
Листинг программы
int k = 0; foreach (char n in line) { k++; if (char.IsDigit(n)) { temp += n; if (temp.Length > result.Length || line.Length == k && temp.Length > result.Length) result = temp; } else if (n == ' ') continue; else temp = string.Empty; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д