Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Spearance 22.12.2004 17:36
Сам метод:######################################## # # Разбивает строку по регулярным выражениям # # l - разбить слева направо (по-умолчанию); # r - разбить справа налево; # h - сформировать безымянную таблицу где части исходной строки помещаются горизонтально; # v - сформировать таблицу со столбцом piece, где части исходной строки помещаются вертикально (по-умолчанию). # ##### @rsplit[text;regex;divider][table_split;copy] ^if(def $text){ $table_split[^table::create{piece}] $result[^text.match[(.+?)$regex][g]{^table_split.append{$match.1}}] ^table_split.append{$result} ^if(!def $divider){$divider[lv]} ^switch[^divider.lower[]]{ ^case[r;rv]{$result[^table::create[$table_split;$.reverse(1)]]} ^case[rh]{$copy[^table::create[$table_split;$.reverse(1)]]$result[^copy.flip[]]} ^case[h;lh]{$result[^table_split.flip[]]} ^case[DEFAULT]{$result[$table_split]} } } ### End @rsplit[]Примеры использования и описание здесь.