Струнные манипуляции - PullRequest
       19

Струнные манипуляции

1 голос
/ 17 января 2010

Мне нужно извлечь данные о надгробии из файла надписи (структурированного текстового файла). Из этого файла я должен извлечь имя умершего человека, дату рождения (или возраст), а также личные сообщения. Приложение должно иметь возможность анализировать необработанный текстовый файл, а затем извлекать информацию и отображать ее в виде таблицы.

Исходные текстовые файлы выглядят так:

В любви к / ДЖОНУ СМИТУ /, который умер 13.02.07 / в возрасте 40 лет / мы будем скучаю по тебе / В любовной памяти о / ДЖЕЙН ОСТИН / который умер 10.06.98 / родился 19.12.80 / надеюсь, что вы на небесах.

В основном / - это разделитель, а имя умершего всегда заглавными буквами. Я пытался использовать String.Split() и методы подстроки, но я не могу заставить его работать на меня; Я могу получить только необработанные данные без разделителя (Environment.Newline), но я не знаю, как извлечь конкретную информацию.

Ответы [ 3 ]

2 голосов
/ 17 января 2010

Вам понадобится что-то вроде:

  • Откройте файл данных (System.IO)
  • Для каждой строки выполните (совет: выберите поток, где вы можете читать построчно)
    • Разделить их на "/", получив string[]
    • Массивы в C # начинаются с 0; таким именем будет разделено [1], и так далее
    • Хранить эту информацию в управляемой коллекции (может быть, использовать дженерики?)
  • Показать эту коллекцию в табличном виде
0 голосов
/ 17 января 2010

Я бы подумал, что что-то подобное сделает свое дело

 private static void GetHeadStoneData()
 {
    using(StreamReader read = new StreamReader("YourFile.txt"))
    {
       const char Delimter = '/';
       string data;
       while((data = read.ReadLine()) != null)
       {
            string[] headStoneInformation = data.Split(Delimter);
            //Do your stuff here, e.g. Console.WriteLine("{0}", headStoneInformation[0]);
       }
    }
 }
0 голосов
/ 17 января 2010

Извлечение Как: использовать регулярные выражения для извлечения полей данных . Я знаю, что пример написан на C ++, но классы Regex и Match должны помочь вам начать работу

Здесь - еще один хороший пример разбора отдельных предложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...