Чтение текстового файла до определённого символа - C#

Узнай цену своей работы

Формулировка задачи:

Ниже предоставлен код, не совсем понимаю как организовать поиск. Мне нужно вывести все вопросы, для этого я должен определить начало и конец считываемой строки.И еще нужно чтобы варианты ответов тоже куда нить записались . Конец строки это будет знак "?" начало строки - любой не пустой символ который не начинается с цифры как это реализовать внизу пример того что я хочу дано: файл test.txt
"Какие электроустановки?
1)белые
2)серые
3)красные
+4)зеленые
Когда я родился?
вчера

     где ты был?"
результатом работы программы должен вывестись в Label1.text и быть таким
"
Какие электроустановки?
Когда я родился?
где ты был?"
s_int1 = 0;
            int i=0;
            while(i<=str.Length)
               {
                s_int1 = str.IndexOf("?");
                for (int j = 0; j <= s_int1; j++)
                {
                    label1.Text += str[j];
                }
                i = s_int1;
                i++;
               // label1.Text = Convert.ToString(s_int1);
               }
пока что дошел до такого варианта, но он пропускает вопросы и много ошибок получается, забивает лишь один вопрос:
public static int s_int1;
 
        public Form2()
        {
            InitializeComponent();
            FileInfo file = new FileInfo("c:\\test.txt");  // хз что это подскажите
            StreamReader streamReader = new StreamReader("c:\\test.txt", Encoding.Default); //Открываем файл для чтения Encoding.Default - кодировка файла
            string str = ""; //Объявляем переменную, в которую будем записывать текст из файла
 
            while (!streamReader.EndOfStream) //Цикл длиться пока не будет достигнут конец файла
            {
               // str += streamReader.ReadLine(); //В переменную str по строчно записываем содержимое файла    /r/n - перевод на новую строку
               string s_line=streamReader.ReadLine();
                if(s_line.IndexOf("?")!=-1) //.IndexOf("?")==1) //поиск по ?
                {
                    label1.Text = s_line;   // запись найденной строки со знаком ?
 
                }
                
                else if(s_line.Count(c => c>='0' && c<='9')>=1)
                {
                    checkedListBox1.Items.Add(s_line);
                }
            }

Решение задачи: «Чтение текстового файла до определённого символа»

textual
Листинг программы
<?xml version="1.0" encoding="utf-8"?>
<Test>
  <Question id="1" value ="В противотуберкулезном учреждении  для профилактики туберкулеза среди сотрудников  необходимо иметь все перечисленное, кроме">
    <Answer id="1" value="отдельного гардероба и специальной одежды для персонала" />
    <Answer id="2" value="отдельного помещения для приема пищи" />
    <Answer id="3" value="отдельной регистратуры" right="yes"/>
  </Question> 
</Test>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы