Título: Encontrar texto Publicado por: dPix en 2 Septiembre 2006, 21:53 pm Hola wenas, a ver, tengo que buscar una cadena (una dirección web) dentro de un código de fuente (text1) y la tengo que encontrar sabiendo que antes de ella esta el texto "<font color=#008000>" y después de ella está "</font><nobr>", ¿cómo puedo coger solo la página web? Lo he intentado así:
Código: Private Sub Command1_Click() Pero nada. Espero haberme explicado más, espero también vuestras respuestas. Gracias de antemano. dPix Título: Re: Encontrar texto Publicado por: Hendrix en 2 Septiembre 2006, 22:08 pm No te dare todo el codigo porke es de mala educación (;)) pero si te dare las bases apra que empieces. Te dare este texto que escribi en otro foro para buscar palabras en el texto.
Citar Esto sirve para buskar una determinada palabra en una frase o texto y lo elimina: Citar Dim a As String a = "Hendrixholapunker" For i = 1 To Len(a) If Mid(a, i, 4) = "hola" Then Text1.Text = Mid(a, 1, (i - 1)) & Mid(a, (i + 4)) End If Next Bien, nos tenemos que fijar en lo siguiente: Citar If Mid(a, i, 4) = "hola" Then Si os fijais, pongo 4 porke son las letras que tiene la palabra hola Citar Text1.Text = Mid(a, 1, (i - 1)) & Mid(a, (i + 4)) Y aki lo mismo..... ;) ;) ;) Lo que hace esto es koger desde el principio hasta un caracter antes desde donde lo esta buskando y despues le agrega el resto, kitando lo que keremos..... Ya ven, facil, y tonto a la vez.....pero weno, no tengo nada mejor que hacer y ago esto...xD xD xD Salu2 Bien, ahora lo que tienes que hacer es buscar hasta que enkuentres <font color=#008000> y guardas el texto que le sigue, leugo, a ese texto guardado, buskas hasta </font><nobr> y guardas el texto que hay detras de esto, y ya tienes la pagina.... ;D ;D Salu2 Título: Re: Encontrar texto Publicado por: dPix en 3 Septiembre 2006, 00:22 am No no, no me des todo el código, solo necesito una "pista" de como hacer para que guarde lo que hay antes de </font><nobr> ya que con el code que postee anteriormente consigo que se quede la "página web" + lo que le sigue, pero no consigo guardar "solo la web". Gracias por contestar.
un saludo Título: Re: Encontrar texto Publicado por: Hendrix en 3 Septiembre 2006, 00:55 am sigue mi ejemplo, si lo entiendes es facil hacerlo.
Salu2 Título: Re: Encontrar texto Publicado por: soplo en 3 Septiembre 2006, 01:02 am Hola
Existe una función que busca una string contenida en otra y devuelve su posición instr(PosInicio,StringDondeSeBusca,StringABuscar) El tipo de comparación puede ser binario o textual y si no se especifica se utiliza el que venga en option compare Código: Dim S1 as string, S2 as string, PosIni as integer, PosEncontrado as integer Así que solo tienes que ir leyendo línea a línea buscando "<font color=#008000>" y cuando lo encuentres buscas "</font><nobr>" de la misma manera. Una vez establecidas ambas posiciones solo tienes que extraer con mid la string que se encuentre entre una y otra. Para ello averiguas cuantos caracteres hay en medio Código: PosUltimoCaracterUrl=PosStrFinal-1 y ahora extraer el string adecuado Código: StringBuscada=mid(linea$,PosPrimerCaracterUrl,TotalCaracteresUrl) Un saludo Título: Re: Encontrar texto Publicado por: Hendrix en 3 Septiembre 2006, 10:52 am Mira, no lo suelo hacer, pero aki te lo doy:
Código: Function buscar(cadena As String, inicio As String, final As String) Si no lo entiendes pidelo. En cadena pones todo el texto, en inicio pones el texto donde empezara a excluir y en final pones dodne tiene que terminar. Salu2 Título: Re: Encontrar texto Publicado por: Hans el Topo en 3 Septiembre 2006, 14:20 pm tambien puedes utilizar la funcion split... xD
Título: Re: Encontrar texto Publicado por: dPix en 3 Septiembre 2006, 17:42 pm Hendrix: muchas gracias por tu aportación ;D, soplo, lo mismo, al principio cuando me lo explicasteis no lo terminé de pillar, pero más o menos lo he ido pillando cuando me dijeron esto:
Citar Dim Ini As Integer Dim Fin As Integer Dim inicial As Integer Ini = InStr(1, Text1.Text, "<font color=#008000>") + 20 Fin = InStr(Ini + 1, Text1.Text, "</font><nobr>") inicial = Ini Do While inicial <= Ini If Ini = 0 Or Fin = 0 Then Exit Sub 'Cuando vuelva al nº 1 FIN List1.AddItem Mid(Text1.Text, Ini, Fin - Ini) ' añado al listbox Ini = InStr(Fin + 1, Text1.Text, "<font color=#008000>") + 20 Fin = InStr(Ini + 1, Text1.Text, "</font><nobr>") Loop Lo retoqué yo un poco pero ahora funciona, el caso es que necesito, eliminar "<b>" y ·</b>" cuando aparezcan, lo he intentado con Replace pero me resulta complicado, de todas formas Hendrix., desde mi punto de vista no es de mala educación dar el código, ya que gracias a que me lo dieron lo entendí, muchísimas gracias ;Dy a ver si alguien me puede ayudar con lo de "<b>" y "</b">. :huh: Un saludo, dPix ;D Título: Re: Encontrar texto Publicado por: Hans el Topo en 4 Septiembre 2006, 02:19 am ¿que no entiendes de esto?
Código: Replace(expresión, encontrar, reemplazarCon) ejemplo... Código: text1.text = Replace(text1.text , "<b>", "") Título: Re: Encontrar texto Publicado por: Hendrix en 4 Septiembre 2006, 10:40 am Te lo postee aki: http://foro.elhacker.net/index.php/topic,138646.msg650845.html#msg650845
Citar Hendrix., desde mi punto de vista no es de mala educación dar el código, ya que gracias a que me lo dieron lo entendí, Cierto, pero se aprende mas buscandolo y kurrandotelo por ti mismo que no que te lo plasemn y ya, ademas, lo dije ironikamente.... ;) ;) ;) Salu2 Título: Re: Encontrar texto Publicado por: dPix en 6 Septiembre 2006, 11:31 am Lo que pasa es que antes no entendía esas funciones que me explicaron, yo lo he hecho funcionar tambén a vuestra manera, perfecto, muchas gracias. ;D
|