вот пример кода :
Regex rex = new Regex("\\s*(\\r*)(\\n+)(\\s*)(\\r*)");
string[] substrings = rex.Split( "тест\r\n \r\nтест");
то есть "говорим" что в начале может следовать любой пробельный символ либо вообще отсуствовать \\s*, за ним может следовать символ \r возврат каретки или вообще отсуствовать (\\r*)
затем должен быть обязательно 1 или более символов \n за которыми могут следовать опять же пробельные символы или возврат каретки или могут отсутствовать ( ставим * )
нужно получить в результате
substrings[0] : "тест";
substrings[1] : "тест";
но получается следующее :
substrings[0] : "тест";
substrings[1] : "";
substrings[2] : "\n";
substrings[3] : "";
substrings[4] : "";
substrings[5] : "тест";
в чем ошибка ?
Здравствуйте, Аноним, Вы писали:
А>вот пример кода :
А>А> Regex rex = new Regex("\\s*(\\r*)(\\n+)(\\s*)(\\r*)");
А> string[] substrings = rex.Split( "тест\r\n \r\nтест");
А>
А>то есть "говорим" что в начале может следовать любой пробельный символ либо вообще отсуствовать \\s*, за ним может следовать символ \r возврат каретки или вообще отсуствовать (\\r*)
А>затем должен быть обязательно 1 или более символов \n за которыми могут следовать опять же пробельные символы или возврат каретки или могут отсутствовать ( ставим * )
\s это whitespace символ, который включают и \r и \n
Здравствуйте, Аноним, Вы писали:
А>вот пример кода :
А>А> Regex rex = new Regex("\\s*(\\r*)(\\n+)(\\s*)(\\r*)");
А> string[] substrings = rex.Split( "тест\r\n \r\nтест");
А>
всё намного проще
Regex rex = new Regex(@"\s*\s(?<=\n\s*)");