Avatar billede retep Nybegynder
03. juli 2001 - 15:19 Der er 7 kommentarer og
1 løsning

Regulært udtryk ?

Hejsa ;)

Jeg har et filnavn efter følgende opbygning:
<nr1>_<nr2>.filnavn

ex. 145_32.jpg

og vil gerne hente værdien af <nr2> ud.


Avatar billede erikjacobsen Ekspert
03. juli 2001 - 15:22 #1
if (eregi(\'^[0-9]+-([0-9]+)\\.jpg$\',$ditfilnavn,$r)) {
  print $r[1];
} else {
  print \"Så er der ugler i kartoffelmosen\";
}
Avatar billede erikjacobsen Ekspert
03. juli 2001 - 15:23 #2
Hvis det ikke kun er jpg filer, kan du blot sige:
  if (eregi(\'^[0-9]+-([0-9]+)\\.\',$ditfilnavn,$r)) {
Avatar billede erikjacobsen Ekspert
03. juli 2001 - 15:24 #3
Ups da også nå da da. Den bindestreg skal være en underscore:
  if (eregi(\'^[0-9]+_([0-9]+)\\.\',$ditfilnavn,$r)) {
Avatar billede nau.dk Nybegynder
03. juli 2001 - 15:24 #4
<?
eregi($filnavn, \"[0-9]{3}_([0-9]{2})\\.jpg\", $result);
echo $result[1];
?>

Virker kun med 3-cifret tal forrest og tocifret bagerst.

\"[0-9]{1,3}_([0-9]{1,3})\\.jpg\" fanger 1, 2 og 3-cifrede tal begge steder.
Avatar billede retep Nybegynder
03. juli 2001 - 15:25 #5
Perfekt. Lige et lille bi-spørgsmål; hvordan henter jeg så filnavnet? ;)
Avatar billede erikjacobsen Ekspert
03. juli 2001 - 15:26 #6
  if (eregi(\'^[0-9]+-([0-9]+)\\.(.+)$\',$ditfilnavn,$r)) {
    print \"nummer: $r[1]\";
    print \"extension: $r[2]\";
  } else {
    ...
  }
Avatar billede erikjacobsen Ekspert
03. juli 2001 - 15:27 #7
Udskfit bindestregen med underscore :)
Avatar billede retep Nybegynder
03. juli 2001 - 15:32 #8
Perfekt ;))

Tusind tak!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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