Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Problem_06.Extract_Sentences
- {
- using System;
- using System.Collections.Generic;
- using System.Linq;
- internal class Program
- {
- private const string Alphabet = "abcdefghijklmnopqrstuvwxyz";
- private static void Main(string[] args)
- {
- var separators = new[] { '.', '?', '!' };
- var keyWord = Console.ReadLine();
- var text = Console.ReadLine();
- var sentences = text.Split(separators).ToList();
- var containingSentences = new List<string>();
- var set = new HashSet<char>(Alphabet + Alphabet.ToUpper());
- sentences.ForEach(
- sentence =>
- {
- var original = sentence;
- var nonLetterCharacters = sentence.ToCharArray().Where(character => !set.Contains(character)).Distinct().ToList();
- nonLetterCharacters.ForEach(character=>sentence = sentence.Replace(character, ' '));
- var words = sentence.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
- if (words.Any(word => word.Equals(keyWord)))
- {
- containingSentences.Add(original.Trim());
- }
- });
- /* var nonLetterChars = "[^A-Za-z]";
- containingSentences.AddRange(from sentence in sentences let words = Regex.Split(sentence, nonLetterChars) where words.Any(x => x == keyWord) select sentence.Trim());*/
- Console.WriteLine(string.Join(Environment.NewLine, containingSentences));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment