Regulärer Ausdruck gesucht

24/12/2010 - 13:32 von Ferry Bolhar | Report spam
Hallo,

ich habe ein kommaseparierte Liste, die ich gerne mittels split in ein Array
überführen möchte:

my @array = split /,/, $liste;

Allerdings kann es vorkommen, dass ein Listenelement ebenfalls Kommata
enthàlt, diesfalls stehen das betreffende Element unter Hochkomma, als zB:

$liste = "Element 1, Element 2, 'Element 3, und Komma', Element 4";

@array sollte dann so aussehen:

$array[0] = "Element 1"
$array[1] = "Element 2"
$array[2] = "Element 3, und Komma"
$array[3] = "Element 4"

Wer kennt den richtigen regulàren Ausdruck für split, um das zu erreichen?

Schöne Weihnachtsgrüße aus Wien,

Ferry

Ing. Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: ferdinand.bolhar-nordenkampf@wien.gv.at
 

Lesen sie die antworten

#1 Martin Vorlaender
24/12/2010 - 14:32 | Warnen spam
Hallo Ferry,

ich habe ein kommaseparierte Liste, die ich gerne mittels split in ein Array
überführen möchte:

my @array = split /,/, $liste;

Allerdings kann es vorkommen, dass ein Listenelement ebenfalls Kommata
enthàlt, diesfalls stehen das betreffende Element unter Hochkomma, als zB:

$liste = "Element 1, Element 2, 'Element 3, und Komma', Element 4";

@array sollte dann so aussehen:

$array[0] = "Element 1"
$array[1] = "Element 2"
$array[2] = "Element 3, und Komma"
$array[3] = "Element 4"

Wer kennt den richtigen regulàren Ausdruck für split, um das zu erreichen?



Ich fürchte, mit split kommst Du da nicht weit. Aber mit Text::CSV steht
ein Modul zur Verfügung, das das (und viel mehr) kann.

Frohes Fest,

Martin
One OS to rule them all | Martin Vorlaender | OpenVMS rules!
One OS to find them | work:
One OS to bring them all | http://vms.pdv-systeme.de/users/martinv/
And in the Darkness bind them.| home:

Ähnliche fragen