Я застрял, пытаясь найти способ получить 3 раздела строки, не используя разбиение и некоторые странные вещи.Целевая строка выглядит следующим образом:
BLABLABLABLABLABLA BLABLABLA - BLABLA BLABLA (BLABLA1 BLABLA2)
Мне нужно извлечь три части следующим образом:
1) BLABLABLABLABLABLA BLABLABLA (левая часть)
2) BLABLA BLABLA(средняя часть)
3) BLABLA1 BLABLA2 (правая часть в скобках)
То, что я сейчас сделал, это:
var text = "BLABLABLABLABLABLA BLABLABLA - BLABLA BLABLA (BLABLA1 BLABLA2)";
var left = Regex.Matches(text, @"([^)]*)-");
var middle = Regex.Matches(text, @"-([^)]*)\(");
var right = Regex.Matches(text, @"\(([^)]*)\)");
Console.WriteLine(left[0]);
Console.WriteLine(middle[0]);
Console.WriteLine(right[0]);
Вывод:
BLABLABLABLABLABLA BLABLABLA -
- BLABLA BLABLA (
(BLABLA1 BLABLA2)
Кажется, что работает, но вывод содержит разделители, и я просто хочу необработанное содержимое.