2015-11-24 3 views
-1

Я хочу реализовать функцию, которая разделяет блок текста на подстроки. Условие разделения для каждого блока должно начинаться с цифры при первом размещении строки.Regex splitting

Например:

  1. Майк был болен, но он пошел в школу
  2. Пчелы имеют гнездо рядом с моим домом
  3. StackOverflow очень полезно.

Это мой код:

private static string[]SplitStringOnBlocks(string text) 
    { 
     string pattern = @"^d"; 
     Regex rgx = new Regex(pattern); 
     return rgx.Split(text);    

    } 

Но это не разделить текст

+0

, что он возвращает вместо этого? целая строка/текст? – Minzkraut

+0

Он возвращает всю строку – vortex

+0

Он делает. Это нумерованный список вопросов – vortex

ответ

1

Ваш шаблон неправильно. Вам необходимо избежать d до \d, и вам необходимо включить мультилинию.

Правильная форма: ^\d

Изменить создание регулярных выражений для: new Regex(pattern, RegexOptions.Multiline)

+1

Я не верю, что это будет работать «как и ожидалось». Однако * ожидаемое * поведение еще не определено :) –

+0

Это работает, спасибо! – vortex

+0

@vortexture: Почему это работает? Он удаляет цифру. Пожалуйста, проверьте [это демо] (http://ideone.com/NxKYzW). –