Как мы можем эффективно читать только целые числа из текстового файла в C # - PullRequest
4 голосов
/ 07 февраля 2011

В C ++ мы можем определить пользовательскую локаль, которая позволяет потоковому объекту игнорировать нецифровые символы в файле и читает только целые числа.

Можем ли мы сделать что-то подобное?Как мы можем эффективно читать только целые числа из текстового файла?Использует ли объект потока C # локаль?Если да, можем ли мы определить пользовательскую локаль, которую мы можем использовать с объектом потока, чтобы игнорировать нежелательные символы при чтении файла?


Вот один пример в C ++, который эффективно подсчитывает частоту слов в текстеfile:

Элегантные способы подсчета частоты слов в файле

1 Ответ

4 голосов
/ 07 февраля 2011

Мое предложение:

            public void ReadJustNumbers()
            {
                Regex r = new Regex(@"\d+"); 
                using (var sr = new StreamReader("xxx"))
                {
                    string line;
                    while (null != (line=sr.ReadLine()))
                    {
                        foreach (Match m in r.Matches(line))
                        {
                            Console.WriteLine(m.Value);
                        }
                    }
                }
            }

где xxx - имя файла, очевидно, вы будете использовать соответствующую цифру более элегантным способом, чем вывод на консоль;)

...