Perl Regexp
Nils Juenemann
nils.juenemann at contec-dt.de
Don Jul 13 14:47:55 CEST 2000
lutz at iks-jena.de wrote:
> Mit split kannst Du ($a, $b) = split(/\./, $string, 2) sagen. Allerdings
> trennt das am ersten Punkt.
Klar. Hab nur den Backslash vergessen zu tippen.
> Mit ($a, $b) = ($1, $2) if /^(.*)\.([^.]*)$/ kannst Du den letzten Punkt
> nehmen.
Das funktioniert aber nur bei gleicher Punktanzahl.
> Noch effizienter ist aber rindex und substr.
Ich habs jetzt so gemacht:
@feld = split /\./, $file;
$laenge = @feld;
$i = $laenge;
for($i = 0; $i < $laenge; $i++) {
if ($i == $laenge-1) {
$neu = "$neu" . "$newstring" . ".";
}
$neu = "$neu" . "$feld[$i]" . ".";
}
Das Problem war ich habe tausende von files, welche alle
noch etwas vor die Dateierweiterung bekommen sollen.
Also aus blafasel.123.test.txt soll blafasel.123.test.neu.txt
werden. Wobei die Anzahl der Punkte variert.
--
Nils Juenemann voice: +49-3677-6474 136
contec Datentechnik GmbH make your net work