Тема: C#. операции со строками

Ответить в теме
Показано с 1 по 9 из 9
  1. Вверх #1
    Мама года
    Аватар для Ириска
    Пол
    Женский
    Адрес
    Украина, г.Одесса
    Сообщений
    1,380
    Репутация
    1227

    Question C#. операции со строками

    Задача состоит в следующем: нужно написать программу,которая считывает текст из файла и выводит на экран только цитаты, т.е. слова,заключенные в кавычки.

    Подскажите пожалуйста, каким образом,или по каким критериям организовать поиск.
    Спасибо
    Мое счастье измеряется в килограммах :)


  2. Вверх #2
    Постоялец форума Аватар для Яр
    Пол
    Мужской
    Адрес
    Odessa.Ua
    Возраст
    37
    Сообщений
    2,915
    Репутация
    168
    Наверное, проще всего это сделать регулярными выражениями
    Всё зависит от того, что понимается под "словами, заключёнными в кавычки" -- они могут быть только из букв, цифр? Или цитаты -- вообще любой текст, в том числе и с пробелами?

    Для слов, набранных латиницей в кавычках это будет как-то так:

    Код:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using System.Text.RegularExpressions;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                string filename = @"file.txt";
                string data = File.ReadAllText(filename);
                Regex re = new Regex("\"([A-Za-z]+)\"");
                MatchCollection matches = re.Matches(data);
                foreach (Match m in matches)
                    Console.WriteLine(m.Groups[1].Value);
                Console.ReadLine();
            }
        }
    }
    ~ Motivation is what gets you started. Habit is what keeps you going.

  3. Вверх #3
    Мама года
    Аватар для Ириска
    Пол
    Женский
    Адрес
    Украина, г.Одесса
    Сообщений
    1,380
    Репутация
    1227
    Что касается понятия "цитата", то поскольку о возможном наличии цифр ничего не упоминалось,будем считать что цитата состоит из слова/слов,разделенных пробелами.
    У меня возникает ошибка,связанная с нахождением файла. Насколько я понимаю, вот тут string filename = @"file.txt";нужно прописать полный путь к файлу? И обязательно ли он должен храниться в папке проекта?
    Мое счастье измеряется в килограммах :)

  4. Вверх #4
    Не покидает форум Аватар для -=TigeR=-
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    7,008
    Репутация
    1410
    относительный путь -> рядом с exe модулем...
    абсолютный путь -> где угодно...

    никто не отменял методы IndexOf и Substring
    и конечно if с while-ом тоже никто не запрещает....

    вариантов решения - масса...

  5. Вверх #5
    Постоялец форума Аватар для Яр
    Пол
    Мужской
    Адрес
    Odessa.Ua
    Возраст
    37
    Сообщений
    2,915
    Репутация
    168
    Ириска, конечно, полный путь к файлу можно указать, например так: (В этом случае он может находиться где угодно)
    Код:
    string filename = @"C:\my\file.txt";
    ~ Motivation is what gets you started. Habit is what keeps you going.

  6. Вверх #6
    Постоялец форума Аватар для Guffy
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    49
    Сообщений
    1,356
    Репутация
    256
    согласен, за исключением, что
    Код:
    Regex re = new Regex("\"([^\"]+)\"");
    кстати, если проблема объяснять преподу еще и использование регулярных выражений,
    то есть другой вариант, не идеальный, но работает.
    Код:
         ........
          string[] parts = data.Split(new char[]{'\"'});
                for (int i = 1; i < parts.Length; i+=2 )
                    Console.WriteLine(parts[i]);
         ........
    Последний раз редактировалось Guffy; 01.10.2007 в 10:17.

  7. Вверх #7
    Цитата Сообщение от Guffy Посмотреть сообщение
    то есть другой вариант, не идеальный, но работает.
    Код:
         ........
          string[] parts = data.Split(new char[]{'\"'});
                for (int i = 1; i < parts.Length; i+=2 )
                    Console.WriteLine(parts[i]);
         ........
    Мне идея понравилась.
    А "не идеальность" в чем заключается?

  8. Вверх #8
    Постоялец форума Аватар для Guffy
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    49
    Сообщений
    1,356
    Репутация
    256
    выводит последнюю незакрытую цитату

  9. Вверх #9
    Мама года
    Аватар для Ириска
    Пол
    Женский
    Адрес
    Украина, г.Одесса
    Сообщений
    1,380
    Репутация
    1227
    Огромнейшее спасибо всем откликнувшимся )))
    у меня все получилось,конечно не без вашей помощи ))
    Если никого тема не интересует,то вобщем можно закрывать. Спасибки
    Мое счастье измеряется в килограммах :)


Ответить в теме

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения