Guest User

Untitled

a guest
Jun 14th, 2016
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. namespace Problem_06.Extract_Sentences
  2. {
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6.  
  7. internal class Program
  8. {
  9. private const string Alphabet = "abcdefghijklmnopqrstuvwxyz";
  10. private static void Main(string[] args)
  11. {
  12.  
  13. var separators = new[] { '.', '?', '!' };
  14. var keyWord = Console.ReadLine();
  15. var text = Console.ReadLine();
  16. var sentences = text.Split(separators).ToList();
  17.  
  18. var containingSentences = new List<string>();
  19. var set = new HashSet<char>(Alphabet + Alphabet.ToUpper());
  20. sentences.ForEach(
  21. sentence =>
  22. {
  23. var original = sentence;
  24. var nonLetterCharacters = sentence.ToCharArray().Where(character => !set.Contains(character)).Distinct().ToList();
  25. nonLetterCharacters.ForEach(character=>sentence = sentence.Replace(character, ' '));
  26. var words = sentence.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
  27. if (words.Any(word => word.Equals(keyWord)))
  28. {
  29. containingSentences.Add(original.Trim());
  30. }
  31. });
  32.  
  33. /* var nonLetterChars = "[^A-Za-z]";
  34. containingSentences.AddRange(from sentence in sentences let words = Regex.Split(sentence, nonLetterChars) where words.Any(x => x == keyWord) select sentence.Trim());*/
  35. Console.WriteLine(string.Join(Environment.NewLine, containingSentences));
  36. }
  37. }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment