1. C# / Говнокод #27059

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    using System;
    using System.Linq;
    using System.Text.RegularExpressions;
    
    namespace Filter
    {
        class MainClass
        {
            /// <summary>
            /// Filter ver. 1.0
            /// Matching only one word
            /// <created>Aleksandr 23.10.2020</created>
            /// </summary>
            /// <param name="args"></param>
            /// 
            public static void Main(string[] args)
            {
                try
                {
                    string str = "ехал грека через редиска че за редиска кек";
    
                    //Настройки=====================================================================
                ////Уберите комментарий строки 20 если хотите ввести свое слово, и уберите строку 21
                ///
                //string str1 = Console.ReadLine();       //<==== decomment
                //==================================================================================
    
                string str1 = "редиска";
    
                //если разкомментировали строку 21, то замените слово "тварь" на слвоо которое ввели   //<==== decomment
                Regex regex = new Regex(@"редиска(\w*)");
                MatchCollection matches = regex.Matches(str);
                if (matches.Count > 0)
                {
                    foreach (Match match in matches)
                    {
                        Console.WriteLine(match.Value);
                    }
    
                    var arrS = str.Split(' ').Select(s => s.Trim(',', '?', '.', '!')).ToArray();
    
                    for (var i = 0; i < arrS.Length; i++)
                    {
                        if (arrS[i].ToLower() == str1)
                            arrS[i] = "***";
                    }
                    var newStr = string.Join(" ", arrS);
    
                    Console.WriteLine(newStr);
                    Console.ReadLine();
                }
                else
                {
                    Console.WriteLine("Совпадений не найдено");
                }
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Исключение: {ex.Message}");
                    Console.WriteLine($"Метод: {ex.TargetSite}");
                    Console.WriteLine($"Информация об исключении: { ex.InnerException}");
                }
            }
        }
    }

    Запостил: AlexStrew, 25 Октября 2020

    Комментарии (10) RSS

    • показать все, что скрытоvanished
      Ответить
      • Хорошо хоть не govno = "хуй", а то я и такую лабу видел, препод не оценил )))
        Ответить
    •             string str1 = "редиска";
      
                  //если разкомментировали строку 21, то замените слово "тварь" на слвоо которое ввели   //<==== decomment
                  Regex regex = new Regex(@"редиска(\w*)");


      Регулярка может определяться только в компайлтайме, т. е. задействовать значение переменной str1 никак нельзя?
      Ответить
    • Во-первых код писался за 10 минут до конца пары. и были еще незаконченные программы. Во-вторых регулярки далеко не мое. В-третьих препод постоянно требует try catch, даже если он не нужен, так что он несет чисто декоративный вид
      Ответить

    Добавить комментарий