- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 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}");
}
}
}
}
guest8 25.10.2020 19:05 # −999
oaoaoammm 25.10.2020 19:08 # +2
Saehrimnir 25.10.2020 21:37 # −1
Регулярка может определяться только в компайлтайме, т. е. задействовать значение переменной str1 никак нельзя?
guest8 25.10.2020 22:02 # −999
Saehrimnir 25.10.2020 22:21 # 0
https://ideone.com/mBbkmW
Почему же тут автор харкодил регулярку? Может быть, для скорости?
guest8 25.10.2020 22:24 # −999
Saehrimnir 25.10.2020 22:26 # +2
AlexStrew 25.10.2020 22:28 # 0
guest8 26.10.2020 00:51 # −999
Saehrimnir 26.10.2020 02:07 # 0