|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Maxim Y. Zinyakov 2:5065/21 29 Jul 2000 12:26:30 To : Dmitry Diskin Subject : split и кавычки -------------------------------------------------------------------------------- 28 Jul 00 20:22, you wrote to me: MZ>> *то бишь*: @splitted = split /\'([^\']*)\'|,/, $yourstr; DD> Мне понравилось. Только есть вопросы: почему мою строку такое DD> выражение разбивает на 12 элементов (часть пустые)? Hу и кавычки DD> неплохо бы сохранять в том, что получится. Кстати, объясни, DD> пожалуйста, роль скобок. Видимо, в этом весь фокус? для того, чтобы оставить кавычки в подстроках, достаточно внести их в круглые скобки. т.е. : split /(\'[^\']*\')|,/ эти круглые скобки показывают, что те символы, по которым происходит разбиение, тоже нужно включать в результат на выходе. То есть,б эта строка разбивается на части, разделенные запятыми и выделенные кавычками. при этом запятые выбрасываются, а то, что внутри кавычек остается... пустые элементы появляются как раз из-за природы работы сплита. избавиться отних тоже просто - добавить греп: @splitted = grep /\w/, split/(\'[^\']*\')|,/, $your_string; Удачи! *Maqs.* [max@surt.sochi.ru] --- GoldED/LNX 3.0.1 * Origin: WARNING! System paused: waiting for the miracle... (2:5065/21) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/18133982cdbd.html, оценка из 5, голосов 10
|