Infiniti_Inter

Задание 13

Nov 18th, 2019
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.53 KB | None | 0 0
  1. //Удалить из сообщения все повторяющиеся слова.
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Text.RegularExpressions;
  9.  
  10. namespace mainSolution
  11. {
  12.  
  13.     static class Program
  14.     {
  15.         static void Trim(ref string s)
  16.         {
  17.             s = s.Trim();
  18.             StringBuilder res = new StringBuilder();
  19.             res.Append(s[0]);
  20.             for (int i = 1; i < s.Length; ++i)
  21.                 if (s[i] != char.ToLower(s[i - 1]))
  22.                     res.Append(s[i]);
  23.             s = res.ToString();
  24.         }
  25.         static void Main(string[] args)
  26.         {
  27.             using (StreamReader inp = new StreamReader("D:/input.txt"))
  28.             {
  29.  
  30.                 Regex Delete_Arcticles = new Regex(@"\b(([Tt]he)|([Aa]n)|([Aa]))\b");
  31.  
  32.  
  33.                 Regex Ce_To_Se = new Regex("Ce");
  34.                 Regex Ci_To_Si = new Regex("Ci");
  35.  
  36.                 Regex ce_To_se = new Regex("ce");
  37.                 Regex ci_To_si = new Regex("ci");
  38.  
  39.                 Regex ck_To_k = new Regex(@"ck|c");
  40.                 Regex Ck_To_K = new Regex(@"ck|C");
  41.  
  42.                 Regex ee_TO_i = new Regex("ee");
  43.                 Regex Ee_TO_I = new Regex("Ee");
  44.  
  45.                 Regex Two_any_To_One = new Regex(@"([a-z | A-Z])\1+");
  46.  
  47.                 Regex Delete_solo_e = new Regex(@"\s[E,e]\s");
  48.  
  49.                 Regex Delete_space = new Regex(@"(\s)\1+|\s$");
  50.  
  51.  
  52.                 string s = inp.ReadToEnd();
  53.  
  54.                 string ans = s;
  55.                 ans = Regex.Replace(ans, Delete_Arcticles.ToString(), "");
  56.                 ans = Regex.Replace(ans, Ci_To_Si.ToString(), "Si");
  57.                 ans = Regex.Replace(ans, ci_To_si.ToString(), "si");
  58.  
  59.                 ans = Regex.Replace(ans, Ce_To_Se.ToString(), "Se");
  60.                 ans = Regex.Replace(ans, ce_To_se.ToString(), "se");
  61.  
  62.                 ans = Regex.Replace(ans, ck_To_k.ToString(), "k");
  63.                 ans = Regex.Replace(ans, Ck_To_K.ToString(), "K");
  64.  
  65.                 ans = Regex.Replace(ans, ee_TO_i.ToString(), "i");
  66.                 ans = Regex.Replace(ans, Ee_TO_I.ToString(), "I");
  67.  
  68.                 ans = Regex.Replace(ans, Two_any_To_One.ToString(), "$1");
  69.  
  70.                 ans = Regex.Replace(ans, Delete_solo_e.ToString(), "");
  71.  
  72.                 ans = Regex.Replace(ans, Delete_space.ToString(), "$1");
  73.  
  74.                 Trim(ref ans);
  75.  
  76.                 Console.WriteLine(ans);
  77.             }
  78.         }
  79.  
  80.     }
  81. }
Add Comment
Please, Sign In to add comment