Como verificar números em String no Java
Neste tutorial mostro como verificar se uma string possui números no Java.
Introdução
Este tutorial visa mostrar como verificar se uma (String) possui números no Java, neste tutorial será usado 2 formas rápidas de como realizar está verificação.
Existem várias formas de verificar se uma (String) no java contém números dentro dela, más neste tutorial irei usar abordar a 2 formas mais rápidas usando o método (matches) da classe String e o método (isDigit) da classe Character do Java com auxilio do Stream Api.
2 Formas rápidas de verificar se uma string possui números.
A 1º Forma é usando o Método (matches)
Neste primeiro exemplo vou utilizar o método (matches) que está presente na classe String do Java, além do método (matches) irei usar a expressão (regex) para auxiliar na verificação.
A expressão regex que irei utilizar para comparar é a (“.*\\d.”), nesta expressão verifico se uma String possui algum digito numeral.
Para implementação do código será utilizado 2 exemplos:
- O primeiro exemplo irei passar uma String sem números e o retorno esperado será um boolean com valor (false);
- No segundo exemplo irei passar uma String com números e o retorno esperado será um boolean com valor (true);
Segue abaixo como ficou o código implementado:
public class NumberInString { public static void main(String[] args) { boolean semNumero; boolean comNumero; // Usando String Metodo(matches) semNumero = "ABCDEF".matches(".*\\d."); System.out.println(semNumero); comNumero = "ABC123".matches(".*\\d."); System.out.println(comNumero); } }
A 2º Forma é usando o Stream Api e o Método (isDigit)
Neste segundo exemplo será utilizado o Stream Api e o o Método (isDigit) da Classe (Character) do Java.
O Stream Api será utilizado para percorrer cada caractere da String informada e a cada caractere será utilizado o método (isDigit) juntamente com o método (anyMatch) que ficaram responsáveis por comparar os valores de cada iteração, caso um dos caracteres seja um número, eles retornara um valor boolean(true) informando que encontrou um digito numeral e caso não encontre retornara um valor boolean(false), informando que não existe número na String.
Segue abaixo como ficou o código implementado:
public class NumberInString { public static void main(String[] args) { boolean semNumero; boolean comNumero; // Usando Stream API semNumero = "ABCDEF".chars().anyMatch(Character::isDigit); System.out.println(semNumero); comNumero = "ABC123".chars().anyMatch(Character::isDigit); System.out.println(comNumero); } }
Segue abaixo um pequeno vídeo explicativo da implementação do código acima:
Caso necessite do código fonte deste tutorial segue o link do github: