Victor Snow Ответов: 2

C# найти определенную строку из текстового файла


Привет! Я довольно новичок в C#, и я обижен, что застрял с некоторым кодом, и я был бы очень рад получить некоторую помощь.

Я хочу иметь возможность вынуть строку из файла .txt, просто зная, что текст находится в строке выше. Например:

Имя:
Улофа
фамилия:
Викинг
Страна:
Швеция

И, например, "имя:" не будет все время стоять на одной линии, оно будет время от времени меняться.

Надеюсь, вы понимаете мой плохой английский.

с уважением
Победитель

Uday P.Singh

почему бы не поместить все ваши данные в xml и не извлечь их оттуда

samadhan_kshirsagar

это очень просто......прежде всего проверьте, присутствует файл или нет...затем откройте файл.....и прочитайте символ из файла

2 Ответов

Рейтинг:
2

Orcun Iyigun

Ну я думаю вам следует принять предложение Удая во внимание но если вы должны прочитать его из текстового файла:

string line = string.Empty;
List<string> lines = new List<string>();
if(File.Exists(path))
{
    // Read the file and display it line by line.
    System.IO.StreamReader file = new System.IO.StreamReader("c:\\yourtextfilepathhere.txt");
    while((line = file.ReadLine()) != null)
    {
       lines.Add(line);
    }
    file.Close();
}


Делайте свои манипуляции, когда ваш список будет заполнен.

Удачи,
ОЙ


Nakhia_ind

Спасибо за хороший код .Но здесь строка должна быть строковой переменной сначала объявите

Рейтинг:
0

Victor Snow

Спасибо Вам за ваши quik answears.

Файл выглядел так::

<TD width="20%" class="WG3">Name&nbsp;</TD>
        <TD width="20%" class="WG3">Olof&nbsp;</TD>




Я написал такой код, и он работает идеально.
<pre lang="cs">public string getMeetInfo(string fileContent , string searchMeetInfo)
{



    string searchString1 = ">" + searchMeetInfo + "&nbsp;</TD>";
    int IntRubrikStart = fileContent.IndexOf(searchString1);
    string searchString2 = ">";
    int intWantedNameStart = fileContent.IndexOf(searchString2, IntRubrikStart + searchString1.Length) + 1;
    string searchString3 = "&nbsp";
    int intWantedNameEnd = fileContent.IndexOf(searchString3, intWantedNameStart);
    string strOut = fileContent.Substring(intWantedNameStart, intWantedNameEnd - intWantedNameStart);

    return strOut;



Выход:
Улофа