Olá!
Estou fazendo alguns testes com a classe String. E me fiz o desafio de pegar a seguinte String:
[code]
2.000 reais | [/code]
E estou tentando deixar apenas a parte do número 2000:
[code]for (int i = 0; i < line.length(); i++) {
if (Character.isDigit(line.charAt(i))) {
}
else {
line.replace(line.charAt(i), '\u0000');
}
}
System.out.println(line);[/code]
mas ele apenas retorna a string:
[code]
2.000 reais | [/code]
ou seja, sem nenhuma alteração. Eu acho que estou errando em alguma cosia muit boba, só não sei o que.
Vc precisa retornar para uma String. Se não retornar não haverá modificação no objeto, lembre que objetos String são imutáveis.
//Vc fez isso:
line.replace(...);
//teria que fazer isso:
String s = line.replace(...);
Opa! Valeu mesmo. Eu percebi que estava fazendo algo a mais de errado. o código da cor também é um núemro e não ia ser removido, então fiz um novo código:
line = line.replaceAll("<td align=\"right\" style=\"color: #007700;\">", "");
line = line.replaceAll(" z</td>", "");
line = line.replace('.', '\u0000');
int value = Integer.parseInt(line);
System.out.println(value);
no print não sai nada, mas eu sei que a string fica
2 000
seria o espaço que está atrapalhando? Se sim, o que faço para consertar isso?