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.

6 Respostas

pmlm

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

WRYEL

hahaha, sem duvida a melhor maneira! porém, se ele não souber expressões regulares, vai sofrer um pouco! :frowning:

G

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, :smiley: , agora vou dar uma estudada melhor na classe para poder aplica-la mais vezes vlw!

T

http://aurelio.net/er/

edisonsilva
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 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

http://guia-er.sourceforge.net/

Espero ter conseguido esclarer alguma coisa!!!!
:idea:

PS. Expressões Regulares é uma poderosa ferramenta em várias áreas da Informática.

Criado 27 de abril de 2009
Ultima resposta 27 de abr. de 2009
Respostas 6
Participantes 6