Como obter apenas os números de String?

Olá queria saber uma forma de obter apenas os números de uma String. Porém, o problema é que essa String é uma expressão numérica. Como por exemplo: String expressao = “1 + 2 + 3”. Queria saber se tem como pegar esses valores da String e armazenar num vetor de inteiros por exemplo.

Bom dia amigo, sou muito novato ainda mas vou compartilhar a ideia que me ocorreu lendo sua dúvida.

Eu imaginei um método que recebe uma string como parâmetro. Esse método primeiro armazenaria cada caracter da string em uma array.

Depois esse método tentaria fazer conversão de string pra int. Creio que os caracteres referentes aos números seriam convertidos. Porém os referentes às operações não, o que geraria uma exceção.

Bastaria tratar as exceções e usar o que foi convertido com sucesso.

Se eu tiver falado alguma “asneira” me desculpe.

Bons estudos e boa sorte!

Utilize string.replaceAll("[\\D]", ""); isso vai substituir todo caractere não numérico por nada. Verifique apenas se são duas barras mesmo, ou apenas uma.

1 curtida

Obrigado pelas respostas vou testá-las.

Acho que você está tentando começar com uma calculadora muito complexa, rs. Utilize apenas dois operandos inicialmente, e um operador.

Você pode converter Strings com valores de 0 a 9 para int. Mas acho que não seja possivel calcular valores do tipo String, como você proproe. Java é uma linguagem tipada, caso você queria fazer algo assim, tera que encontrar uma solução fora da API java, ou fazer na unha mesmo…
Um post sobre isso: