Разбиение текста на абзацы, предложения и слова - C#

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

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

привет всем, нужно разбить текст с файла на абзаци и записать абзаци в List, потом с этого List разбить абзаци на предложения и записать их в отдельный List, потом по такой схеме разбить строки на слова и записать это в новый файл

Решение задачи: «Разбиение текста на абзацы, предложения и слова»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace Abzac
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             string text = @"После появления в мотеле Моники обязанности Тре и Терри свелись к самому малому – необходимости изображать человеческий интерфейс
  12. с постояльцами, которых приходилось принимать и селить в номера.
  13. Принимать гостей приходилось им лично, чтобы избежать неприятных моментов, которые могли возникнуть в связи с оригинальным внешним
  14. видом и запахом, исходящим от Моники.
  15.  
  16. Постояльцы, в подавляющем большинстве туристы, как правило, средний класс и прибывшие со Среднего Запада,
  17. приезжали в Санта-Круз, соблазнившись низкими ценами, и обычно бывали в первые дни потрясены большим количеством местных молди.
  18. В глубинке, как правило, молди не селились, потому что люди там ненавидели их особенно люто – большинство обитателей Среднего Запада были
  19. «наследниками». Главное слово в жаргоне «наследников», «поджаривать», означало сжигание молди в луже крепкого виски, и впервые это слово
  20. родилось в Айове. «С трюфельным соусом», иногда добавляли некоторые «наследники», имея в виду обгорающие шарики камотного гриба,
  21. прожаривающегося в корчащемся пластике пожираемого пламенем молди и взрывающемся, выбрасывая в воздух психоделические облачка
  22. почерневших спор.                
  23.  
  24. Таким образом, с некоторых пор делом Тре и Терри стало первыми принять постояльцев и быстренько убедить их, что свободный город Санта-Круз
  25. является отличным местом, не таящим в себе никакой угрозы, веселым городком, полным молоденьких студенток, молди, рабочих с окрестных ферм,
  26. серферов и бездомных торчков. Хотя, конечно, цены говорили сами за себя – жизнь была дешевой, и в городке было чем поразвлечься.";
  27.  
  28.             List<string> paragraphs = text.Split(new string[] { "\n\r" }, StringSplitOptions.RemoveEmptyEntries).ToList();
  29.             List<string> sentences = new List<string>();
  30.             List<string> words = new List<string>();
  31.  
  32.             foreach (string paragraph in paragraphs)
  33.             {
  34.                 sentences.AddRange(paragraph.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries));
  35.                 foreach (string sentence in sentences)
  36.                 {
  37.                     words.AddRange(sentence.Split((new char[] { ' ', ',', '.', '-' })).Where(p=>p.Length > 0));
  38.                     foreach (string word in words)
  39.                     {
  40.                         Console.WriteLine(word);
  41.                     }
  42.                 }
  43.             }
  44.             Console.ReadKey();
  45.         }
  46.     }
  47. }

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


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

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

11   голосов , оценка 3.727 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы