Разбиение текста на абзацы, предложения и слова - 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();
        }
    }
}

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


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

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

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