Olá,
eu estou fazendo uma aplicação no qual, eu abro um arquivo, já selecionado no código, e o usuário entra com uma expressão regular, e retorna o conteúdo do arquivo de acordo com a exp. regular. Bem, não faço idéia de como fazer isso, alguém pode me dar uma luz?
Grato.
Tipo um filtro ?
Pra mim não ficou inteiramente claro.
+++
[quote=andre_teprom]Tipo um filtro ?
Pra mim não ficou inteiramente claro.
+++[/quote]
Isso mesmo, como se fosse o Grep, dos sistemas UNIX.
[quote=leandronsp]Tem este exemplo que encontrei no google, aí você só precisa mudar o tipo de charset, se for o caso.
http://www.java-tips.org/java-se-tips/java.util.regex/how-to-apply-regular-expressions-on-the-contents-of-a.html
[/quote]
Oi, leandronsp. Vou tentar adaptar o exemplo à minha aplicação. Postarei os resultados.
Obrigado!
Não consegui adaptar o exemplo para o que eu quero. Vou fazer o seguinte: através do Drag and Drop do NetBeans, vou jogar o conteúdo do arquivo de texto para uma jTextArea. Daí, como eu poderia “filtrar” o conteúdo de acordo com a expressão regular? Para validar um e-mail, estou fazendo isso:
/* Botão de validação */
Pattern padrao = Pattern.compile(jtExpReg.getText());
Matcher pesquisa = padrao.matcher(jtEmail.getText());
if (pesquisa.matches()){
JOptionPane.showMessageDialog(null, "E-mail Válido!");
}
else
{
JOptionPane.showMessageDialog(null, "E-mail Inválido!");
}
}
Lembrando que a expressão regular é informada pelo usuário, no campo jtExpReg. Alguém pode me ajudar, por favor?
Obg,
André.
Existem inúmeras maneiras…
O problema de fazer isso com exemplos do Google é que as vezes você não entende o código, e isso não é muito bom…
Olha, se eu fosse fazer o que você falou, eu iria, DE CARA, pensar em duas maneiras:
Utilizando o Scanner para ler o arquivo linha por linha, e verificar se na linha que eu to pesquisando CONTÉM o que o usuario digitou…
if ( linhaDoArquivo.contains(jtExpReg.getText()){
System.out.println("Achei o que vc tava procurando!");
}
Se você não quiser usar o Scanner, (que para ser sincero, também acho que não usaria) existem outras classes que oferecem a mesma solução, de forma mais eficiente:
http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileWriter.html - escrever
http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileReader.html - ler
Que tal procurar um tutorial, explicando como funciona cada classe, ou invés de procurar exemplos prontos?
Espero ter ajudado, e desculpe se falei algo que não agradou… Eu quero é só ajudar!
abraços,
[quote=d34d_d3v1l]Existem inúmeras maneiras…
O problema de fazer isso com exemplos do Google é que as vezes você não entende o código, e isso não é muito bom…
Olha, se eu fosse fazer o que você falou, eu iria, DE CARA, pensar em duas maneiras:
Utilizando o Scanner para ler o arquivo linha por linha, e verificar se na linha que eu to pesquisando CONTÉM o que o usuario digitou…
if ( linhaDoArquivo.contains(jtExpReg.getText()){
System.out.println("Achei o que vc tava procurando!");
}
Se você não quiser usar o Scanner, (que para ser sincero, também acho que não usaria) existem outras classes que oferecem a mesma solução, de forma mais eficiente:
http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileWriter.html - escrever
http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileReader.html - ler
Que tal procurar um tutorial, explicando como funciona cada classe, ou invés de procurar exemplos prontos?
Espero ter ajudado, e desculpe se falei algo que não agradou… Eu quero é só ajudar!
abraços,[/quote]
opa, agora sim. vou começar a leitura. muito obrigado.