Tenho a seguinte String:
(-) AJUSTE A VALOR PRESENTE (4522)
Preciso pegar somente o conteudo entre os ultimos parenseses.
Como poderia fazer?
fiz assim, até rola, mas acho q ficou muito gambiarra.
StringBuilder temp = new StringBuilder();
for (int j = content1.length() - 1; j > 0; j--) {
if(content1.charAt(j) == '('){
break;
} else {
temp.append(String.valueOf(content1.charAt(j)));
}
}
temp.reverse().toString()
import java.util.regex.*;
class TesteParenteses {
public static void main(String[] args) {
String teste = "(-) AJUSTE A VALOR PRESENTE (4522) ";
Pattern pat = Pattern.compile ("\(([0-9.,+-]+)\)");
Matcher mat = pat.matcher (teste);
String valor = "";
while (mat.find ()) {
valor = mat.group(1);
}
System.out.println (valor);
}
}
Deve imprimir:
4522
Como você não forneceu mais exemplos, não sei se a expressão regular vai bater com TUDO que você precisa. Estude expressões regulares ( http://aurelio.net/er ) para saber o que eu fiz acima.
fechou, era isso mesmo so alterei para Pattern.compile ("\(([0-9]+)\)");
vlw