string.split - разделителем из нескольких символов - PullRequest
130 голосов
/ 10 августа 2009

У меня проблемы с разбиением строки в c # с разделителем "] [".

Например, строка «abc] [rfd] [5] [,] [.»

Должен дать массив, содержащий;
а
RFD
5

,

Но я не могу заставить его работать, даже если я попробую RegEx, я не смогу разделить разделитель.

РЕДАКТИРОВАТЬ: По сути, я хотел решить эту проблему без необходимости регулярного выражения. Решение, которое я принимаю, это:

string Delimiter = "][";  
var Result[] = StringToSplit.Split(new[] { Delimiter }, StringSplitOptions.None);

Я рад, что могу решить этот разделенный вопрос.

Ответы [ 4 ]

235 голосов
/ 10 августа 2009

Чтобы показать использование string.Split и Regex:

string input = "abc][rfd][5][,][.";
string[] parts1 = input.Split(new string[] { "][" }, StringSplitOptions.None);
string[] parts2 = Regex.Split(input, @"\]\[");
29 голосов
/ 10 августа 2009
string tests = "abc][rfd][5][,][.";
string[] reslts = tests.Split(new char[] { ']', '[' }, StringSplitOptions.RemoveEmptyEntries);
11 голосов
/ 22 мая 2014

Другой вариант:

Замените разделитель строк одним символом, а затем разделите его на этот символ.

string input = "abc][rfd][5][,][.";
string[] parts1 = input.Replace("][","-").Split('-');
2 голосов
/ 10 августа 2009
Regex.Split("abc][rfd][5][,][.", @"\]\]");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...