|
Почему Regex "глотает" строки при разбиении шаблоном типа ".{10}" ?
|
|||
---|---|---|---|
#18+
Хотел разбить строку на равные части, и вдруг наткнулся на такое: при использовании string[] lines = Regex.Split("looooooooooooooongggggggggggggggggggggggggggg", @".{10}"); (то есть мы делим длинную строку на строки по 10 и менее символов) Получаем список из 5 пустых строк, кроме последней шестой, которая короче 10 - см. картинку. Причем если бы последняя строка была длиной тоже 10 символов, она бы тоже исчезла. В чём тут дело? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 20:49 |
|
Почему Regex "глотает" строки при разбиении шаблоном типа ".{10}" ?
|
|||
---|---|---|---|
#18+
Сорри, на скриншоте не шестистроковая, а пятистроковая версия. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 20:50 |
|
Почему Regex "глотает" строки при разбиении шаблоном типа ".{10}" ?
|
|||
---|---|---|---|
#18+
Всё, я понял в чём ошибка - сплит же интерпретирует паттерн как разделитель . Решил так: string[] lines = Regex.Split("aaaaaaaaaabbbbbbbbbbccccccccccdddddddddde", @"(.{10})").Where( x => !string.IsNullOrEmpty(x)).ToArray(); ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2013, 21:11 |
|
|
start [/forum/topic.php?fid=20&fpage=169&tid=1404901]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 145ms |
0 / 0 |