Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace TextAnalysis
- {
- internal static class SentencesParserTask
- {
- public static List<List<string>> ParseSentences(string text)
- {
- var sentences = text.Split('.', '!', '?', ';', ':', '(', ')');
- return sentences
- .Select(GetWordsInSentence)
- .Where(words => words.Count > 0)
- .ToList();
- }
- private static List<string> GetWordsInSentence(string sentence)
- {
- var words = new List<string>();
- var wordBuilder = new StringBuilder();
- sentence += ' '; // Для сброса в лист последнего слова
- foreach (var letter in sentence)
- {
- if (char.IsLetter(letter) || letter == '\'')
- wordBuilder.Append(letter);
- else
- DropWordToList(wordBuilder, words);
- }
- return words;
- }
- private static void DropWordToList(StringBuilder wordBuilder, List<string> words)
- {
- if (wordBuilder.Length > 0)
- {
- words.Add(wordBuilder.ToString().ToLower());
- wordBuilder.Clear();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment