Como verificar uma caracteres e numeros em uma String
6 respostas
Otavio_do_Nascimento
Eae pessoal!
Meu problema é o seguinte:
Eu tenho que verificar em um JTextField se a String digitada possui o seguinte formato: “ADP186”, ou seja, três caracteres e três números, mas não tenho nem idéia de como se faz. Se alguém conseguir me mostrar o caminho eu ficarei grato.
hahaha, sem duvida a melhor maneira! porém, se ele não souber expressões regulares, vai sofrer um pouco!
G
gpviani
Tenta isso:
String aux = "adp186";//string a ser validada
// se permitir letras maiuscula e minusculas - retorna verdadeiro ou vfalse se se adequa
System.out.println(aux.matches("[a-zA-Z]{3}[0-9]{3}"));
// se permitir somente letras maiuscula - retorna verdadeiro ou vfalse se se adequa
System.out.println(aux.matches("[A-Z]{3}[0-9]{3}"));
Otavio_do_Nascimento
Muito obrigado pessoal, consegui implementar usando matches serviu muito bem para o que eu precisava, , agora vou dar uma estudada melhor na classe para poder aplica-la mais vezes vlw!
String aux = "adp186";//string a ser validada
// se permitir letras maiuscula e minusculas - retorna verdadeiro ou vfalse se se adequa
System.out.println(aux.matches("[a-zA-Z]{3}[0-9]{3}"));
// se permitir somente letras maiuscula - retorna verdadeiro ou vfalse se se adequa
System.out.println(aux.matches("[A-Z]{3}[0-9]{3}"));
Otavio para explicar o que está acontecendo no código acima e não simplesmente resolvendo seu problema, a melhor forma de validar um conteúdo a ser digitado é a utilização de expressões regulares. Elas não são somente utilizadas em desenvolvimento, mas sim e diversas outras coisas!!!
[a-zA-Z] - diz que vc tem uma lista de caracteres (todas as letras minusculas e maiusculas).
{3} - diz que tem que existir a ocorrência de 3 caracteres da lista anterior.
[0-9]{3} - uma lista de números 0 até 9 e a necessidade da ocorrência de 3 caracteres.
Nesse caso somente retorna verdadeiro para strings do tipo 3(letras) e 3(números), mas vamos dizer que nesse mesmo caso vc pudesse aceitar até 3 letras e 3 números, essa expressão já não seria mais válida!!!!
Caso vc queira conhecer um pouco mais sobre esse assunto...existe um e-book muito bacana na net