pevel

Untitled

Oct 16th, 2022
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Text;
  4.  
  5. namespace TextAnalysis
  6. {
  7. internal static class SentencesParserTask
  8. {
  9. public static List<List<string>> ParseSentences(string text)
  10. {
  11. var sentences = text.Split('.', '!', '?', ';', ':', '(', ')');
  12.  
  13. return sentences
  14. .Select(GetWordsInSentence)
  15. .Where(words => words.Count > 0)
  16. .ToList();
  17. }
  18.  
  19. private static List<string> GetWordsInSentence(string sentence)
  20. {
  21. var words = new List<string>();
  22. var wordBuilder = new StringBuilder();
  23. sentence += ' '; // Для сброса в лист последнего слова
  24. foreach (var letter in sentence)
  25. {
  26. if (char.IsLetter(letter) || letter == '\'')
  27. wordBuilder.Append(letter);
  28. else
  29. DropWordToList(wordBuilder, words);
  30. }
  31.  
  32. return words;
  33. }
  34.  
  35. private static void DropWordToList(StringBuilder wordBuilder, List<string> words)
  36. {
  37. if (wordBuilder.Length > 0)
  38. {
  39. words.Add(wordBuilder.ToString().ToLower());
  40. wordBuilder.Clear();
  41. }
  42. }
  43. }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment