Hirdetés
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Igazából a feladat egyszerű, mint a lepkefing, pár perc alatt megoldható.
Végigmész az adott könyvtár fájljain (az alapján, amit írtál, feltételezem, hogy egy helyre vannak ömlesztve, nem kell rekurzíve bejárni a könyvtárakat), reguláris kifejezéssel ellenőrzöd, hogy illeszkedik-e a fájlnév az általad megadott mintára, ha igen, akkor space mentén "szétrobbantod" a stringet, majd ebből kiszeded. Legalábbis ez egy nagyon gyorsan bepötyöghető megoldás. Szépségével nem foglalkoztam a kódnak, ez működik:$filename_pattern = '/^[a-z]+ \d+ \S+\.asd\.txt$/';
$dir = '.';
$filenames = scandir($dir);
foreach($filenames as $filename) {
if (!is_dir("$dir/$filename")) {
if(preg_match($filename_pattern, $filename)) {
$filename_pieces_by_space = explode(" ", $filename);
$measurement_location = $filename_pieces_by_space[0];
$measurement_id = $filename_pieces_by_space[1];
echo $measurement_id, ': ', $measurement_location . PHP_EOL;
}
}
}A reguláris kifejezés jelentése: a string eleje és vége között a következők vannak: bármilyen a és z közötti karakter egynél többször, szóköz, bármilyen szám egynél többször, szóköz, bármilyen nem whitespace karakter egynél többször, majd pont, "asd", pont, txt.
Itt az explode eredményeként a harmadik elem a tömbben ilyen lesz, mint a "90n00004.asd.txt", ha ebből további infó kell, akkor nyilván pontok mentén kell szétrobbantani.(#17485) biker:
Hát ennyi infóból ember legyen a talpán, aki megmondja, mi a baj.
Azért remélem, azóta nem vágtál eret.
Új hozzászólás Aktív témák
- Gamer PC- Számítógép! Csere-Beszámítás! I7 4790K / 16GB DDR3 / RX 5700XT 8GB / 512GB SSD
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- Honor X6a 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Asus Prime H370 i5 8500 16GB DDR4 512GB SSD RTX 3050 6GB Thermaltake V3 FSP 400W
- AKCIÓ! Dell Latitude 5550 notebook - Intel Ultra 7 165U 16GB DDR5 RAM 1TB SSD Intel Graphics WIN11
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest