|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Paul Kulchenko 2:5020/400 12 Jul 2000 01:23:23 To : All Subject : Re: нужен regexp --------------------------------------------------------------------------------
Hi, Alexander!
Alexander Russkih wrote:
> емеется набор строк значения в которых разделены запятой (,). если
> значением является строка, то она заключена в кавычки. все строки имеют
> одинаковое количество значений.
> в результате надо получить массив изизначений в строке.
> например:
> 1,"Вася","Петя","Коля",3
> 45,"Трактор","Волга","",7
> 12,"Вася,Петя","Коля, Маша","Зина",97
>
> простой split /,/ тут не поможет, а как это решить грамотным regexp'ом я
> к сожалению не знаю :(
@fields = /("[^"]*"|[^,]+),?/g;
вернет массив который тебе нужен. Удалить " сам сможешь? Если нет, то
делай:
my @fields = map { s/^"|"$//g; $_ } /("[^"]*"|[^,]+),?/g
не будет работать для строк, содержащих \", но жтого и не требовалось.
Best wishes, Paul.
--- ifmail v.2.15dev5
* Origin: Rostelecom/Internet Centre (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3555db3138d7.html, оценка из 5, голосов 10
|