Avatar billede jannek_ek Nybegynder
17. juni 2006 - 14:04 Der er 4 kommentarer og
1 løsning

wildcard søgning blandt filer

jeg er igang med at lave et program der skal bruges til at lave nogle værdier til en klasse. Jeg serialisere filerne, så de kan åbnes igen, men jeg vil gerne lave en liste med de filer der findes, af den type man vil åbne. Jeg vil altså have java til at udføre en funktion for hver fil der findes i mappen af en bestemt type, hvor jeg får filnavnet ud i en streng.

jeg har et eksempel fra php:

foreach (glob("*."$filendelse) as $fil)
{
...
}
Avatar billede arne_v Ekspert
17. juni 2006 - 14:50 #1
Avatar billede jannek_ek Nybegynder
17. juni 2006 - 18:05 #2
takker tog lige lidt tid men har gennemskuet det nu ...
Det hele virker, men jeg kan ikke forstå hvad præcis der sker i den funktion du har lavet:

public boolean wildcard(String pat, String s)
{
  String regex = "^" + pat.replaceAll("\\.", "\\.").replaceAll("\\*", ".*?") + "$";
  return Pattern.compile(regex).matcher(s).matches();
}

den må du meget gerne lige forklare helt... men takker for hjælpen og kom med et svar
Avatar billede arne_v Ekspert
17. juni 2006 - 18:23 #3
hvis du kun vil teste på extension kan du bruge Carstens kode

men hvis du mere generelt vil bruge wildcars skal det laves lidt mere avanceret

ovenstående kode transformerer en wildcard udstryk med * til et nogenlunde
tilsvarende regular expression

som så bruges til atteste med om der er et match
Avatar billede arne_v Ekspert
17. juni 2006 - 18:23 #4
og svar
Avatar billede jannek_ek Nybegynder
17. juni 2006 - 18:28 #5
ok takker igen
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