Avatar billede texas2 Nybegynder
10. oktober 2002 - 11:59 Der er 4 kommentarer og
3 løsninger

Spliting af filnavn

Hvordan splitter jeg et filnavn (f.eks : fil.dat) opp i selve filnavnet og "extensionen"?
Avatar billede Thomas Nybegynder
10. oktober 2002 - 12:07 #1
Tag et kig på http://www.perldoc.com/perl5.8.0/pod/func/split.html
måske er det lige det du står og skal bruge :-)
Du vil nok have noget ala
$filnavn = "fil.dat";
($navn, $extension) = split(/\./,$filnavn);
(Utestet, men mon ikke det virker?)
Avatar billede ehf Nybegynder
10. oktober 2002 - 12:09 #2
Prøv med

$fil = "fil.dat";
$X = substr($fil,0,index($fil,"."));
$Y  = substr($fil,index($fil,".")+1);

Der findes sikkert en smartere måde. Men denne er da til at forstå
Avatar billede ehf Nybegynder
10. oktober 2002 - 12:11 #3
ravio's måde virker og er noget mere elegant.
Avatar billede thomasledet Nybegynder
10. oktober 2002 - 12:39 #4
tilgengæld virker den ikke, hvis der er et punktum i filnavnet... (fx Monster.cool-fil.txt
Avatar billede ehf Nybegynder
10. oktober 2002 - 12:47 #5
Det er rigtigt. I det tilfælde skal man beslutte sig for hvor man vil splitte og så evt. bruge rindex. så $filnavn bliver Monster.cool-fil
Avatar billede thomasledet Nybegynder
10. oktober 2002 - 12:49 #6
følgende gør også tricket... det er godtnok ikke så pænt, men det var lige, hvad jeg kunne finde på... det er testet og virker..

$file = 'fil.noget.txt';
$name = $file;
$extension = $file;
$name =~ s/^(.*)\.([^.]*)/$1/;
$extension =~ s/^(.*)\.([^.]*)/$2/;
Avatar billede thomasledet Nybegynder
10. oktober 2002 - 12:50 #7
det kan gøres noget pænere...

$file = 'fil.noget.txt';
$file =~/^(.*)\.([^.]*)/;
$name=$1;
$extension=$2;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester