Xpoint
   [напомнить пароль]

advanced SPLIT

Метки: [без меток]
2004-06-11 20:13:25 [обр] Pumba[досье]

Надо засплитовать строку
строка может иметь самые разные разделители между полями и может иметь каждое поле заключенное в пару каких-либо символов. Например

111111,222222,333333,444444,555555
"111111","222222","333333","444444","555555"
!111111!,!222222!,!333333!,!444444!,!555555!
-111111-!-222222-!-333333-!-444444-!-555555-

Какие есть варианты?

спустя 3 минуты [обр] Алексей В. Иванов(17/2861)[досье]
Здесь есть подвох?
Чем Вам split(/","/, @list) не угодил?
спустя 21 минуту [обр] Александр Пелих(35/530)[досье]
Pumba[досье] Проблема в том, что нужно распознать, есть ли эти символы и удалить их?
Содержимое полей - фиксированный тип данных?
спустя 9 минут [обр] Алексей Севрюков(45/1292)[досье]
сообщение промодерировано

Pumba[досье]

split(/\D+/, $list) если только цифры у Вас, причем массив надо будет потом почистить от пустых символов, которые будут появляться из-за того, что в конце строки есть какой-нибудь разделитель.

Если не только цифры, то
split(/[,!"-]+/,$list) и так же почистить, например map'ом

А если совсем точно нужно, то действительно скажите что именно в этом куске.

спустя 4 дня [обр] Kukoyasnei Ruslan(9/73)[досье]
s/[^\d]+/,/gs;
split /,/, @list;
Powered by POEM™ Engine Copyright © 2002-2005