Разбиение текста на абзацы, предложения и слова - C#
Формулировка задачи:
привет всем, нужно разбить текст с файла на абзаци и записать абзаци в List, потом с этого List разбить абзаци на предложения и записать их в отдельный List, потом по такой схеме разбить строки на слова и записать это в новый файл
Решение задачи: «Разбиение текста на абзацы, предложения и слова»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Abzac
- {
- class Program
- {
- static void Main(string[] args)
- {
- string text = @"После появления в мотеле Моники обязанности Тре и Терри свелись к самому малому – необходимости изображать человеческий интерфейс
- с постояльцами, которых приходилось принимать и селить в номера.
- Принимать гостей приходилось им лично, чтобы избежать неприятных моментов, которые могли возникнуть в связи с оригинальным внешним
- видом и запахом, исходящим от Моники.
- Постояльцы, в подавляющем большинстве туристы, как правило, средний класс и прибывшие со Среднего Запада,
- приезжали в Санта-Круз, соблазнившись низкими ценами, и обычно бывали в первые дни потрясены большим количеством местных молди.
- В глубинке, как правило, молди не селились, потому что люди там ненавидели их особенно люто – большинство обитателей Среднего Запада были
- «наследниками». Главное слово в жаргоне «наследников», «поджаривать», означало сжигание молди в луже крепкого виски, и впервые это слово
- родилось в Айове. «С трюфельным соусом», иногда добавляли некоторые «наследники», имея в виду обгорающие шарики камотного гриба,
- прожаривающегося в корчащемся пластике пожираемого пламенем молди и взрывающемся, выбрасывая в воздух психоделические облачка
- почерневших спор.
- Таким образом, с некоторых пор делом Тре и Терри стало первыми принять постояльцев и быстренько убедить их, что свободный город Санта-Круз
- является отличным местом, не таящим в себе никакой угрозы, веселым городком, полным молоденьких студенток, молди, рабочих с окрестных ферм,
- серферов и бездомных торчков. Хотя, конечно, цены говорили сами за себя – жизнь была дешевой, и в городке было чем поразвлечься.";
- List<string> paragraphs = text.Split(new string[] { "\n\r" }, StringSplitOptions.RemoveEmptyEntries).ToList();
- List<string> sentences = new List<string>();
- List<string> words = new List<string>();
- foreach (string paragraph in paragraphs)
- {
- sentences.AddRange(paragraph.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries));
- foreach (string sentence in sentences)
- {
- words.AddRange(sentence.Split((new char[] { ' ', ',', '.', '-' })).Where(p=>p.Length > 0));
- foreach (string word in words)
- {
- Console.WriteLine(word);
- }
- }
- }
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д