PDA

View Full Version : [JAVA] Verificare che il suffisso di un file contenga solo numeri


Andale
18-05-2007, 10:34
Ecco il mio problemino:

Il suffisso dei file da controllare deve contenere solo numeri, esempio:
pippo.001 - pippo.987 ecc ecc

la mia prima idea prevede di verificare che il quartultimo carattere, della stringa che rappresenta il file, sia un punto e controllare che i restanti 3 caratteri appartengano ad un insieme definito mediante un array:


char[] numeri = new char[] { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' };


Esiste un metodo pių immediato?
L'ideale sarebbe stato utilizzare il metodo della classe String endsWith(.###) dove # rappresenta un numero da 0 a 9, ma credo che non esista niente di simile... o sbaglio? :D

SaintTDI
18-05-2007, 10:37
Ecco il mio problemino:

Il suffisso dei file da controllare deve contenere solo numeri, esempio:
pippo.001 - pippo.987 ecc ecc

la mia prima idea prevede di verificare che il quartultimo carattere, della stringa che rappresenta il file, sia un punto e controllare che i restanti 3 caratteri appartengano ad un insieme definito mediante un array:


char[] numeri = new char[] { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' };


Esiste un metodo pių immediato?
L'ideale sarebbe stato utilizzare il metodo della classe String endsWith(.###) dove # rappresenta un numero da 0 a 9, ma credo che non esista niente di simile... o sbaglio? :D

magari sparo una cazzata :D in Php si possono controllare l'estensioni dei file... in Java non c'č niente?!

Ziosilvio
18-05-2007, 10:38
Se conosci le espressioni regolari, puoi semplicemente fare il matching del nome del file (come oggetto String) con la regex *.[0-9][0-9][0-9].

Altrimenti, prendi il suffisso del file (ossia, la parte del nome che segue l'ultimo zero) e per ciascun carattere controlli se č una cifra: ci dovrebbe essere un metodo sulle stringhe o sui caratteri, ma non so quale sia :cry:

andbin
18-05-2007, 10:42
Esiste un metodo pių immediato?String nome = "pippo.123";

boolean valido = nome.matches (".*\\.\\d{3}");