Foros del Web » Programación para mayores de 30 ;) » Java »

Libreria para buscar palabra y obtener texto

Estas en el tema de Libreria para buscar palabra y obtener texto en el foro de Java en Foros del Web. Hola me gustaria saber si existe alguna libreria, que por ejemplo tenga en un string por ejemplo, el codigo html de una web y quiero ...
  #1 (permalink)  
Antiguo 27/09/2011, 05:13
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años
Puntos: 4
Libreria para buscar palabra y obtener texto

Hola me gustaria saber si existe alguna libreria, que por ejemplo tenga en un string por ejemplo, el codigo html de una web y quiero buscar este string en el codigo:

Código Java:
Ver original
  1. String f = '<form name="CitaPreviaForm" ';

Y me coga desde el form ese hasta el final del "</form>", para luego yo buscar cosas dentro del form, ¿Hay alguna libreria de este estilo?

Ayuda por favor.
  #2 (permalink)  
Antiguo 27/09/2011, 05:43
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Libreria para buscar palabra y obtener texto

Si tienes el html en un String, puedes usar expresiones regulares de java Echa un ojo a http://download.oracle.com/javase/6/...x/Pattern.html

En el método getEnlaces() de http://code.google.com/p/chuidiang-d...scargador.java tienes algo parecido, pero busca tags <a href="http://www.forosdelweb.com/f45/libreria-para-buscar-palabra-obtener-texto-947268/....">

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 27/09/2011, 11:45
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años
Puntos: 4
Respuesta: Libreria para buscar palabra y obtener texto

Cita:
Iniciado por chuidiang Ver Mensaje
Si tienes el html en un String, puedes usar expresiones regulares de java Echa un ojo a http://download.oracle.com/javase/6/...x/Pattern.html

En el método getEnlaces() de http://code.google.com/p/chuidiang-d...scargador.java tienes algo parecido, pero busca tags <a href="http://www.forosdelweb.com/f45/libreria-para-buscar-palabra-obtener-texto-947268/....">

Se bueno.
Pero lo de las expresiones regulares me buscaria la palabra y no me devolveria lo que quiero yo, ¿o si? Yo lo que quiero es por ejemplo que me busque el string que puse arriba y luego yo coger desde hay hasta el final de form por ejemplo. ¿Podré hacerlo con lo que tu me dices?
  #4 (permalink)  
Antiguo 27/09/2011, 12:34
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Libreria para buscar palabra y obtener texto

Las expresiones regulares te buscan y te pueden devolver el trozo de cadena que han encontrado. Echa un ojo al segundo apartado de http://chuwiki.chuidiang.org/index.p...ulares_en_Java o al ejemplo que te puse antes de href, además de buscarlos, extrae las url correspondientes. En este trozo de código

Código java:
Ver original
  1. // Se busca href por el texto html
  2.                 Pattern pHref = Pattern
  3.                                 .compile("[hH][rR][eE][fF] *= *[\"']?([^ \"'>]*)[\"'>]");
  4.                 Matcher mHref = pHref.matcher(textoHtml);
  5.  
  6.                 // Para cada href encontrado
  7.                 while (mHref.find()) {
  8.                         // se convierte en url absoluta
  9.                         String href = convierteHrefRelativaEnAbsoluta(urlDescompuesta,
  10.                                         mHref.group(1));
  11.                         enlaces.add(href.replace("\\", "/"));
  12.                 }
  13.                 return enlaces;

el bucle mHref.find() va buscando las cadenas href="...." y extrayendo su contenido con mHref.group(1).

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: libreria, palabra
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:53.