Zeichenkette immer nach zwei Zeichen spliten - reg Ausdruck
Jörk
- cgi
hi,
ich suche einen ausdruck um eine zeichenkette nach zwei zeichen zu spliten.
$var = "1234567890";
@var = split /??Ausdruck??/, $var;
ergebnis sollte sein:
@var = (12,34,56,78,90);
hi,
ich suche einen ausdruck um eine zeichenkette nach zwei zeichen zu spliten.
Die CGI Spezifikation kennte keine regulären Ausdrücke.
$var = "1234567890";
@var = split /??Ausdruck??/, $var;ergebnis sollte sein:
@var = (12,34,56,78,90);
Du meinst PERL?
$var =~ /(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/;
for($1,$2,$3,$4,$5){ push @var, $_} # ungeprüft
Gruss, Rolf
Du meinst PERL?
Ja genau.
$var =~ /(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/;
for($1,$2,$3,$4,$5){ push @var, $_} # ungeprüft
die länge der zeichenkette die in $var ist kann sich immer ändern.
Du meinst PERL?
Ja genau.
$var =~ /(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/;
for($1,$2,$3,$4,$5){ push @var, $_} # ungeprüftdie länge der zeichenkette die in $var ist kann sich immer ändern.
Hmm, du könntest ja ersteinmal so splitten
@chain = split //, $var;
Mit $chain[0] bis $chain[-1] kannst du da jede Ziffer einzeln ansprechen.
Also kannst du mit dem Index durch die Kette gehen und deine 2erGruppen zusammenbauen auf ein weiteres Array.
Gruss, Rolf
Hallo,
so klappts...
$var =~ s/(\d\d)(?=\d)(?!\d*,)/$1,/g;
@arr = split(',', $var);
Gruß Helmut
Hallo,
so klappts...
$var =~ s/(\d\d)(?=\d)(?!\d*,)/$1,/g;
@arr = split(',', $var);
Spitze Helmut! Darf ich das auf die PerlBase tun?
Gruss, Rolf
Hallo,
freilich gern.
Machste gleich noch das dazu, das setzt Tausender Trennpunkte vorm Komma ein.
$var = "123457890765498543298,3322";
$text = reverse $var;
$text =~ s/(\d\d\d)(?=\d)(?!\d*,)/$1./g;
print scalar reverse $text;
Kann man auch mal brauchen...
Gruß Helmut
Hallo,
freilich gern.
Machste gleich noch das dazu, das setzt Tausender Trennpunkte vorm Komma ein.$var = "123457890765498543298,3322";
$text = reverse $var;
$text =~ s/(\d\d\d)(?=\d)(?!\d*,)/$1./g;
print scalar reverse $text;Ausgabe: 123.457.890.765.498.543.298,3322
Kann man auch mal brauchen...
Vielen Dank! Mach ich morgen.
Gruss, Rolf
Moin Helmut,
vielen Dank noch einmal. Deine CodeSchnippel sind nun auch auf der Perlbase zu finden:
http://perlbase.xwolf.de/cgi-bin/perlbase.cgi?display=7.2&id=10
Gruss, Rolf
Hi,
ich suche einen ausdruck um eine zeichenkette nach zwei zeichen zu spliten.
in </archiv/2004/3/77071/#m444786> schlägt Christian Kruse vor:
my @nums = $str =~ /(..)/g;
cu,
Andreas