Выделение подстрок по ключевым словам - C#
Формулировка задачи:
Доброго времени суток.
Есть проблема. допустим дан массив тегов:
и есть строка
каким образом можно выделить подстроки для каждого тега?
string[] tags = {"TAG1","TAG2","TAG3","TAG4","TAG5","TAG6","TAG7","TAG8"};
string file = "TAG2jjfjfjndbfdjTAG1qqqqqqqTAG3uytygh fhdjdfTAG5hgjdhfghTAG6trgfmxc hdfhdTAG2jfksksdhjskTAG3kdjbjvbsjTAG2jskjdjdvjvbxjkvbjdTAG2jkxcndjcjbkjn";
Решение задачи: «Выделение подстрок по ключевым словам»
textual
Листинг программы
using System; using System.Linq; using System.Text.RegularExpressions; namespace ConsoleApplication102 { internal class Program { private static void Main() { string[] tags = {"TAG1", "TAG2", "TAG3", "TAG4", "TAG5", "TAG6", "TAG7", "TAG8"}; string file = "TAG2jjfjfjndbfdjTAG1qqqqqqqTAG3uytygh fhdjdfTAG5hgjdhfghTAG6trgfmxc hdfhdTAG2jfksksdhjskTAG3kdjbjvbsjTAG2jskjdjdvjvbxjkvbjdTAG2jkxcndjcjbkjn"; string tag = "(" + string.Join("|", tags) + ")"; var lookup = Regex.Matches(file, string.Format(@"({0})(.+?)(?={0}|$)", tag)) .Cast<Match>() .ToLookup(m => m.Groups[1].Value, m => m.Groups[3].Value); foreach (var pair in lookup) { Console.Write(pair.Key + " =\t"); foreach (var entry in pair) { Console.Write(entry + " "); } Console.WriteLine(); Console.WriteLine(); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д