Pessoal, tenho a seguinte String:
"
André |
1987-06-10 |
38% de aprovação |
"
A partir desta, preciso criar um objeto do tipo Aluno… porém, me matei para pegar… e ficou um código horrível… alguem poderia me dar um exemplo, mas usando regex, de como recuperar os dados em NEGRITO ?
Obrigado!!!
Basta usar grupos:
[code]import java.util.regex.*;
public class Find{
public static void main(String []x){
String linha = “
André |
1987-06-10 |
38% de aprovação |
”;
String padrao = “<a[^>]+>([^<]+)
([^<]+) | ([^<]+)”;
Matcher m = Pattern.compile(padrao).matcher(linha);
if(m.find()){
System.out.println("Nome : " + m.group(1));
System.out.println("Data : " + m.group(2));
System.out.println("Aprov: " + m.group(3));
}
}
}[/code]
$ java Find
Nome : André
Data : 1987-06-10
Aprov: 38% de aprovação
A “mágica” está aqui:
([^<]+)<
isto significa
caracter literal "maior que"
( inicio de grupo
[^<] um caracter que não seja o “menor que”
) fim de grupo
< caracter literal “menor que”
Ou seja, eu quero procurar isso
Qualquer Coisa entre maior e menor<
E eu tenho um grupo para aqueles caracteres que me interessam. Um grupo pode ser acessado pelo método group da classe Matcher através da sua ‘posição’. Basicamente um grupo é algo que diz “ei, esta ER aqui dentro é especial, se liga nela”.
|
muitíssimo obrigado! perfeito . parabens
Amigo, ainda não estou conseguindo pegar o código… aquele que está d(CODIGO) … pois nao segue a mesma idéia do seu jeito!! tem alguma solucao? 
abçs