Como saber se um caracter é númérico

2 respostas
A

Pessoal, gostaria de saber se existe algum método nas classes Java, tal que me retorne verdadeiro ou falso, ao testar se um determindado caracter em uma string é um dígito numérico ou não (“0”…“9”). Algo do tipo isNumber ou isDigit.

Se existe, alguém poderia informar qual a sintaxe?

Motivo: preciso testar se determinados nomes de arquivos estão dentro de um padrão adotado (#######), para que possam ser utilizados.
Ex.:
01_1_0001_CURSO_apresentacao.txt // válido
01_1_0002_CURSO_apresentacao.txt // válido
01_1_0003_CURSO_introducao.txt // válido
0A_1_0004_CURSO_exemploa.txt // inválido - o 2º caracter é letra
0004_CURSO_exemplob.txt // inválido - não está no padrão

Agradeço antecipadamente qualquer ajuda.

Augusto Cesar

2 Respostas

_

use Character.isDigit(char c)

J

Não reinvente a roda, utilize expressões regulares:

String regex = "\d{2}_\d{1}_\d{4}_\w+_\w+\.txt";
String arq = "01_1_0001_CURSO_apresentacao.txt";


if(arq.matches(regex)){
   System.out.println("Arquivo no padrão");
}else{
   System.out.println("Arquivo fora do padrão");
}

Não sei bem qual é o seu padrão, mas entendi que é isso:

3numeros_1numero_4numeros_texto_texto.txt

Dê uma olhada nesse link tambem:

http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html

obs.: Nesse caso simples você não precisa usar a classe Pattern

Criado 5 de fevereiro de 2007
Ultima resposta 5 de fev. de 2007
Respostas 2
Participantes 3