В текстовом файле найти самую длинную строку и ее длину - C#
Формулировка задачи:
Добрый вечер.
Не могу доделать задачу "Дан текстовый файл. Найти самую длинную строку и ее длину".
Текст в файле:
mama mila
ramy,
ramy mila
mama,
a mamonti ramy ne mili.
Как разбить тест именно на строки, что бы потом получить длину строки ?
Если в string[] NewText = s1.Split(' '); ставлю Split(',') и в тексте в конце строк ставлю запятую (в string s1 = Regex.Replace(WriteText, "[-.?!,)(:]", ""); убираю запятую), то все работает.
Пример наброска решения привожу ниже
Спасибо!
static void Main()
{
Console.WriteLine("Текст в файле:");
StreamReader file = new StreamReader("text.txt");
string WriteText = file.ReadToEnd();
Console.WriteLine(WriteText);
string line = " ";
int max = 0;
string s1 = Regex.Replace(WriteText, "[-.?!,)(:]", "");
string[] NewText = s1.Split(' ');
for( int i = 0; i< NewText.Length; i++)
{
if(NewText[i].Length > max)
{
max = NewText[i].Length;
line = NewText[i];
}
}
Console.WriteLine();
Console.WriteLine(line);
Console.WriteLine(max);
Console.ReadLine();
}Решение задачи: «В текстовом файле найти самую длинную строку и ее длину»
textual
Листинг программы
using System;
using System.IO;
namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
string fileName = "file.txt";
string longestString = GetLongestString(fileName);
Console.WriteLine(longestString);
Console.WriteLine("Length of string = " + longestString.Length);
Console.ReadKey();
}
public static string GetLongestString(string fileName)
{
string currentString, longestString = "";
using (StreamReader reader = new StreamReader(fileName))
{
while (!reader.EndOfStream)
{
currentString = reader.ReadLine();
if (currentString.Length > longestString.Length)
longestString = currentString;
}
return longestString;
}
}
}
}