Foros del Web » Programando para Internet » ASP Clásico »

Extraer palabras de un texto

Estas en el tema de Extraer palabras de un texto en el foro de ASP Clásico en Foros del Web. Hola, tengo que convertir un montón de documentos en base de datos... en fin! El caso es que tengo que extraer todas las palabras que ...
  #1 (permalink)  
Antiguo 15/02/2007, 08:15
Nax
 
Fecha de Ingreso: enero-2002
Ubicación: Euskal Herria
Mensajes: 129
Antigüedad: 23 años, 3 meses
Puntos: 0
Extraer palabras de un texto

Hola,

tengo que convertir un montón de documentos en base de datos... en fin!
El caso es que tengo que extraer todas las palabras que están en negrita (entre <b> y </b>), he probado con la funcion instr pero solo extraigo la primera, no tengo ni idea de como debo montar el bucle...

Podeis ayudarme?

Saludos!
__________________
SOS Palestina
  #2 (permalink)  
Antiguo 15/02/2007, 08:30
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Extraer palabras de un texto

Usa Replace

P.e.:

texto = Replace(texto,"<b>","")
texto = Replace(texto,"</b>","")

Replace es recursivo, es decir, se ejecuta hasta el final del texto o hasta que no encuentre mas (que es lo mismo :))

Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #3 (permalink)  
Antiguo 15/02/2007, 08:34
Nax
 
Fecha de Ingreso: enero-2002
Ubicación: Euskal Herria
Mensajes: 129
Antigüedad: 23 años, 3 meses
Puntos: 0
Re: Extraer palabras de un texto

Ya, gracias, pero tengo que extraer el texto que está en negrita... no sustituir las etiquetas...
__________________
SOS Palestina
  #4 (permalink)  
Antiguo 15/02/2007, 08:55
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Extraer palabras de un texto

Algo rápido:

Código:
<%
TextoOriginal = "Este es un <b>texto</b> de prueba <b>capturado</b> para probar un sencillo <b>algoritmo</b> que extrae las palabras encerradas entre <b>y</b>"
Texto = TextoOriginal
Dim Vector()
Cnt=0
Response.Write ("Texto Original:")&Server.HTMLEncode(TextoOriginal) & "<br>" 

While InStr(Texto,"<b>")>0
    Redim preserve Vector(Cnt)
		Vector(Cnt) = MID(Texto,InStr(Texto,"<b>")+3, (InStr(Texto,"</b>")-InStr(Texto,"<b>"))-3)
		Texto = Replace(Texto, "<b>", "|", 1, 1)
		Texto = Replace(Texto, "</b>", "|", 1, 1)
		Cnt=Cnt+1
Wend
Response.Write ("Palabras: <br>")
For i=0 to UBound(Vector)
  Response.Write Vector(i) & "<br>"
Next
%>
  #5 (permalink)  
Antiguo 15/02/2007, 09:04
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Extraer palabras de un texto

Tienes razon, no me di cuenta.

Bueno, mira esto a ver si te vale. La idea es la misma: recursividad


Código:
texto = "Esto es una prueba de <b>valores</b> continuos que estan concatenados <b>uno</b> a <b>uno</b>"
 
function extraeTodos(texto)
 Dim textox
  textox = texto
  te = instr(1, textox, "<b>", 1)
  if te <> 0 and te <> vbNull then
   texto1 = left(textox, te-1)
   tu = instr(1, textox, "</b>", 1)
   if tu <> 0 and tu <> vbNull then texto2 = mid(textox,tu+4)
   extraeTodos = extraeTodos(1, (texto1 & texto2))
  end if
end function
 
 
response.Write(extraeTodos(texto))
Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -

Última edición por tammander; 15/02/2007 a las 09:58 Razón: Depuremos algo mas :)
  #6 (permalink)  
Antiguo 15/02/2007, 11:01
Nax
 
Fecha de Ingreso: enero-2002
Ubicación: Euskal Herria
Mensajes: 129
Antigüedad: 23 años, 3 meses
Puntos: 0
Re: Extraer palabras de un texto

Muchas gracias a lo dos!

Estoy intentandolo con la primera forma y en la linea
Código:
Vector(Cnt) = MID(Texto,InStr(Texto,"HREF")+4, (InStr(Texto,"</B></A>")-InStr(Texto,"HREF"))-4)
me da el siguiente error:

Error de Microsoft VBScript en tiempo de ejecución (0x800A0005)
Argumento o llamada a procedimiento no válidos: 'MID'

__________________
SOS Palestina
  #7 (permalink)  
Antiguo 15/02/2007, 11:44
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Extraer palabras de un texto

mmmm, ese error es por que se han sustituido las marcas que haz colocado en las dos lineas siguientes a esa, pero no coincide con tu búsqueda

Ayudaría ver el código completo a ver como lo has modificado.

Por lo ponto detecto que no estan bien tus "etiquetas marca", para empezar no estas buscado lo que estan entre <B> y </B>, sino entre HREF y </B>, lo que no tiene mucho sentido.

Si pudieras poner un ejemplo de una cadena de entrada y lo que quieres de salida, sería también de gran ayuda
  #8 (permalink)  
Antiguo 15/02/2007, 12:14
Nax
 
Fecha de Ingreso: enero-2002
Ubicación: Euskal Herria
Mensajes: 129
Antigüedad: 23 años, 3 meses
Puntos: 0
Re: Extraer palabras de un texto

Tienes razón , lo que pasa es que algunas etiquetas están mal anidadas y también quería sacar esa información, pero paso, debo sacar lo que está bien estructurado y listo!

<A HREF="*******"><B>palabra</B></A> De aquí extraigo las palabras perfectamente

<B><A HREF="*******">palabra</B></A> De estas voy a pasar, porque tampoco son tantas...

Muchas gracias! Me ha servido de gran ayuda! Así da gusto!
__________________
SOS Palestina
  #9 (permalink)  
Antiguo 15/02/2007, 13:42
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Extraer palabras de un texto

De nada, me alegro que te haya servido
  #10 (permalink)  
Antiguo 19/03/2008, 23:56
 
Fecha de Ingreso: marzo-2008
Mensajes: 7
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Extraer palabras de un texto

Conocen algun algoritmo que extraiga las palabras en negrita de los documentos HTML, pero en otro lenguaje, por ejempplo en Perl ???

Ayudenme con eso ...
Saludos
  #11 (permalink)  
Antiguo 24/03/2008, 12:01
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Extraer palabras de un texto

Perl es un lenguaje para manipular textos por excelencia, cada una de las funciones de este ejemplo tienen equivalente en Perl, de cualquier forma quizá deseas preguntar esto en el foro de programación en general, si no deseas agregar algo más con relación a ASP, muevo el tema.

Saludos
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 08:54.