[code]import java.util.regex.*;
public class teste {
public void identificaEConverte (String frase, String comeco, String fim){
Pattern p = Pattern.compile(comeco + "\\s.*" + fim);
Matcher m = p.matcher(frase);
while (m.find()) {
System.out.println(m.group());
}
}
public static void main (String[] args) {
teste a1 = new teste();
a1.identificaEConverte(“olá grupo guj, oi”, “olá”, “guj”);
}
}[/code]
Pessoal, tenho o código acima, funcionando perfeitamente. Meu problema é eu quero salvar o valor do m.group() em uma string, só que eu não estou conseguindo. Alguém pode me ajudar? Eu tentei salvar apenas o valor de m, só que se for assim ele salva toda a sintaxe do código. Apenas (eu acho) o .group() me retorna o valor “pronto” do resultado.
Ao usar o código:
String a = m.group();
System.out.print(a);
Ele compila blz, mas quando eu executo ele da o erro:
Alguém sabe como salvar o valor de m.group() na String a?
Muito obrigado
import java.util.regex.*;
public class Teste89 {
public String identificaEConverte (String frase, String comeco, String fim){
String ret = "";
Pattern p = Pattern.compile(Pattern.quote (comeco) + "(\\s.*)" + Pattern.quote (fim));
Matcher m = p.matcher(frase);
if (m.find()) {
// return m.group (1); // se você quiser apenas "grupo"
return m.group(); // se quiser "olá grupo guj"
}
return ret;
}
public static void main (String[] args) {
Teste89 a1 = new Teste89 ();
System.out.println (a1.identificaEConverte("olá grupo guj, oi", "olá", "guj"));
}
}
[quote=thingol][code]
import java.util.regex.*;
public class Teste89 {
public String identificaEConverte (String frase, String comeco, String fim){
String ret = "";
Pattern p = Pattern.compile(Pattern.quote (comeco) + "(\\s.*)" + Pattern.quote (fim));
Matcher m = p.matcher(frase);
if (m.find()) {
// return m.group (1); // se você quiser apenas "grupo"
return m.group(); // se quiser "olá grupo guj"
}
return ret;
}
public static void main (String[] args) {
Teste89 a1 = new Teste89 ();
System.out.println (a1.identificaEConverte("olá grupo guj, oi", "olá", "guj"));
}
}
[/code][/quote]
Vlw pela ajuda, mas já resolvi, era só atribuir o valor dentro do if que ele funciona!
Obrigado!