Regex  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
pardal_nb
Virtual Machine Man

Membro desde: 12/09/2006 08:26:06
Mensagens: 674
Offline

Pessoal,

tenho o seguinte codigo:



Como faco para pegar somente o q esta dentro de <tg> </tg> e mostrar na tela?

[]'s
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

String s = " Nome: <tg>GUJ 2008 <tg> Feliz Natal";
Pattern p = Pattern.compile("<tg>(.*)<tg>");
Matcher m = p.matcher(s);

Veja aqui o resto:
http://www.exampledepot.com/egs/java.util.regex/Group.html

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
Pedrosa
JWizard
[Avatar]

Membro desde: 13/07/2005 13:08:08
Mensagens: 2505
Localização: São Paulo - Brasil
Offline

Um replaceAll com regex resolve:

Alkamavo
JavaEvangelist
[Avatar]

Membro desde: 20/11/2007 09:44:18
Mensagens: 305
Localização: United States Of Java...
Offline

e estão a eskecer o Split? pk?

"Vocês riem de mim por eu ser diferente, e eu rio de vocês por serem todos iguais" - Bob Marley
[MSN]
pardal_nb
Virtual Machine Man

Membro desde: 12/09/2006 08:26:06
Mensagens: 674
Offline

Alkamavo wrote:e estão a eskecer o Split? pk?


a ideia eh usar Pattern, Matcher ...
Alkamavo
JavaEvangelist
[Avatar]

Membro desde: 20/11/2007 09:44:18
Mensagens: 305
Localização: United States Of Java...
Offline

pardal_nb wrote:
Alkamavo wrote:e estão a eskecer o Split? pk?


a ideia eh usar Pattern, Matcher ...


ah sim...obrigado pelo reparo...
então se o objectivo é usar o pattern macthter...tem de se usar uma condição das ocorrencias possiveis de um determinado caracter....

"<[^>]*>";


só Deus sabe o que passei por causa deste Pattern....Jesus Cristo!!!


"Vocês riem de mim por eu ser diferente, e eu rio de vocês por serem todos iguais" - Bob Marley
[MSN]
pardal_nb
Virtual Machine Man

Membro desde: 12/09/2006 08:26:06
Mensagens: 674
Offline

Alkamavo wrote:
pardal_nb wrote:
Alkamavo wrote:e estão a eskecer o Split? pk?


a ideia eh usar Pattern, Matcher ...


ah sim...obrigado pelo reparo...
então se o objectivo é usar o pattern macthter...tem de se usar uma condição das ocorrencias possiveis de um determinado caracter....

"<[^>]*>";


só Deus sabe o que passei por causa deste Pattern....Jesus Cristo!!!



vc chegou a ver o post enviado pelo Pedrosa ??

a unica coisa q vc mudou foi o +

vlw ai cara....
Alkamavo
JavaEvangelist
[Avatar]

Membro desde: 20/11/2007 09:44:18
Mensagens: 305
Localização: United States Of Java...
Offline

Calma ai cara...nao era para responder a tua pergunta...apenas comentei o que passei pelo pattern...estava a ir para o jantar e ainda no tinha analisado teu codigo por completo...

Ja comi...agora estou olhando para ele....
ja Posto algo ..daki a pouco...



"Vocês riem de mim por eu ser diferente, e eu rio de vocês por serem todos iguais" - Bob Marley
[MSN]
pardal_nb
Virtual Machine Man

Membro desde: 12/09/2006 08:26:06
Mensagens: 674
Offline

Alkamavo wrote:Calma ai cara...nao era para responder a tua pergunta...apenas comentei o que passei pelo pattern...estava a ir para o jantar e ainda no tinha analisado teu codigo por completo...

Ja comi...agora estou olhando para ele....
ja Posto algo ..daki a pouco...




tem ninguem nervoso nao cara.... =)

eu agradeci a sua ajuda ....vc deve ter entendido mal
Alkamavo
JavaEvangelist
[Avatar]

Membro desde: 20/11/2007 09:44:18
Mensagens: 305
Localização: United States Of Java...
Offline

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Guj {



/**
* @param args
*/
public static void main(String[] args) {
String patternStr = "<(\\S*?).*?>(.*?)</\\1>";
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher("");
Matcher matcher2 = pattern.matcher("");

matcher.reset(" Nome: <tg> GUJ 2008 </tg> ");

boolean matchFound = matcher.find(); //
String tagname = matcher.group(1); // as tags
String contents = matcher.group(2); // o texto GUJ 2008

matcher2.reset(" <tg>Feliz Natal </tg>");
boolean matchFound2 = matcher2.find();
String mat=matcher2.group(2);

System.out.println(contents+mat);



}


Compilado e a funcionar.....

espero ajudar com a ideia...nao é realmente o que tu quer..


E desculpe a maneira como falei a bocado...era da fome

"Vocês riem de mim por eu ser diferente, e eu rio de vocês por serem todos iguais" - Bob Marley
[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team