User since
2006-06-30
6
Artikel
BenutzerIn
Folgender String sei gegeben :
i_motorart integer, d_kw decimal(7,2), i_kat integer
wie kann ich mittels split und einem regulären Ausdruck das Ganze in ein Array bringen das danach so aussieht :
i_motorart integer
d_kw decimal(7,2)
i_kat integer
oder ist das Ganze mit split nicht lösbar ??
Im Voraus besten Dank !
User since
2006-06-30
6
Artikel
BenutzerIn
Klar das das geht.
Aber wie mache das Ganze, wenn zwischen Kommas keine Leerzeichen stehen
i_motorart integer,d_kw decimal(7,2),i_kat integer
User since
2006-03-29
1520
Artikel
BenutzerIn
my $string = 'i_motorart integer,d_kw decimal(7,2),i_kat integer';
my @werte = split /,/, $string;
print "$_\n" for my @werte;
Du solltest dir mehr grundlagen aneignen.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
User since
2006-06-30
6
Artikel
BenutzerIn
Ich glaube du hast mein Problem nicht verstanden
das decimal(7,2) darf nicht getrennt werden.
User since
2006-05-20
533
Artikel
BenutzerIn
Ronnies Bsp. leicht umgebaut:
[s]
perl -MData::Dumper -e 'print Dumper [split/\D,/, "i_motorart integer,d_kw decimal(7,2),i_kat integer"]'
[\s]
Vergiss das einfach ;-)
Pörl.
User since
2003-08-14
2022
Artikel
BenutzerIn
case+2007-08-29 18:52:21--Aber wie mache das Ganze, wenn zwischen Kommas keine Leerzeichen stehen
Vorher Kommata zwischen zwei Klammern escapen bzw. durch Semikolon ersetzen und dann splitten?!
User since
2006-03-29
1520
Artikel
BenutzerIn
case+2007-08-29 19:39:13--Ich glaube du hast mein Problem nicht verstanden
das decimal(7,2) darf nicht getrennt werden.
Achso, davon hast du aber nichts gesagt. ;)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
my $str = 'i_motorart integer,d_kw decimal(7,2),i_kat integer';
my @pieces = $str =~ m/(
(?:
(?>
[^,(]+
)
|
\( [^)]+ \)
)+
)/xg;
print "$_\n" for @pieces;
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de