Я хочу разбить строку на подстроки, и каждая из подстрок начинается и заканчивается [[]]

Например

В качестве примеров я использовал только тире и двоеточие - это может быть что угодно, включая пробел или отсутствие пробела. Я просто хочу получить каждую из подстрок, включая квадратные скобки.

string mystring = "[[string 1]] - [[string 2]] : [[string 3]]"

Могу я разделить это на

[[string 1]]
[[string 2]]
[[string 3]]

Подойдет список ...

Любые идеи?

Благодарность,

0
thegunner 13 Мар 2018 в 23:53

2 ответа

Лучший ответ
string input = "[[string 1]] - [[string 2]] : [[string 3]]";
var parts = Regex.Matches(input, @"\[\[.+?\]\]").Cast<Match>().Select(x => x.Value)
                 .ToArray();
3
Eser 13 Мар 2018 в 20:57
string input = "[[string 1]][[string 2]][[string 3]]";
input = input.Replace("][","]-[");
List<string> result = input.split('-').ToList();

Если вам нужен массив, замените последнюю строку на:

string[] result = input.split('-');
0
Ezequiel Uh 13 Мар 2018 в 22:13