Идентификатор и разделитель регулярного выражения с использованием символа «:» - PullRequest
2 голосов
/ 04 августа 2010

Я хочу разделить мою строку между двумя ':' символами.

Например, если ввод "mypage-google-wax:press:-happy", тогда я хочу "press" out.

Это может бытьПредполагается, что ввод не содержит числовых символов.

Ответы [ 3 ]

3 голосов
/ 04 августа 2010

Любая причина использовать регулярные выражения вообще, а не просто:

string[] bits = text.Split(':');

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

1 голос
/ 04 августа 2010

Если вы хотите это в регулярном выражении:

  string pattern = ":([^:]+):";
  string sentence = "some text :data1: some more text :data2: text";
  foreach (Match match in Regex.Matches(sentence, pattern))
     Console.WriteLine("Found '{0}' at position {1}", 
                       match.Groups[1].Value, match.Index);
1 голос
/ 04 августа 2010

Если у вас всегда будет строка в формате {stuffIDontWant}:{stuffIWant}:{moreStuffIDontWant}, тогда ответом будет String.Split(), а не Regex.

Чтобы получить это среднее значение, вы должны сделать:

string input = "stuffIDontWant:stuffIWant:moreStuffIDontWant"; //get your input
string output = ""; 
string[] parts = input.Split(':'); 
  //converts to an array of strings using the character specified as the separator
output = parts[1]; //assign the second one
return output;

Регулярное выражение подходит для поиска соответствия, но, если вы не ищете специально слово press, String.Split() - лучший ответ для этой необходимости.

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