разделить строку на основе регулярного выражения - PullRequest
5 голосов
/ 30 марта 2009

Я хочу разбить строку в C #, которая выглядит как

a: b: "c: d"

так что результирующий массив будет иметь

Array [0] = "a"

Array [1] = "b"

Array [2] = "c: d"

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

Большое спасибо

Ответы [ 2 ]

4 голосов
/ 30 марта 2009

Если двоеточие разделителя разделено пробелами, вы можете использовать \ s для сопоставления пробелов:

string example = "a : b : \"c:d\"";
string[] splits = Regex.Split(example, @"\s:\s");
1 голос
/ 30 марта 2009

Мне кажется, это работает в RegexBuddy

(\w+)\s:\s(\w+)\s:\s"(\w+:\w+)"

ввод

a: b: "c: d"

подходящих групп

  1. а
  2. б
  3. с: д

Как всегда, будьте осторожны и понимайте, что на самом деле делает регулярное выражение. Не копируйте вслепую. Это соответствует символам слова \w, пробелам \s и т. Д. Подумайте, какие данные на самом деле будут в них вводиться!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...