Encontrar una palabra dentro de un texto

Iniciado por Hendrix, 5 Marzo 2006, 17:14 PM

0 Miembros y 1 Visitante están viendo este tema.

Hendrix

Weno, ya se que esto es facilito, pero no lo se hacer (se que es kon una instruccion, pero no se kual)...

Weno, supongamos que dentro de la variable texto esta este texto:

the Hendrix Power

Oka, supongamos que no konozko el "Space" de la variable texto, y yo quiero enkontrar dentro de este Texto la palabra Hendrix....

Komo se hace para que la variable resultado contenga la posicion de la palabra Hendrix???? y que luego la parabra Hendrix pueda cambiarse por otra palabra????

Weno, Muchas gracias....

Salu2

Hendrix

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

NYlOn

A ver, primero querias buscar una palabra. Para hacer eso podes usar un For:

    'Teniendo en cuenta que Text1 es donde vamos a buscar la palabra que esta escrita en el Text2

    Dim i as Long

    For i = 1 To Len(Text1)
        If Mid(Text1, i, Len(Text2)) = Text2 Then
            MsgBox Mid(Text1, i, Len(Text2)) & " - " & i
        End If
    Next i

    'La posicion de la palabra que encontraste seria la variable i, y la longitud es igual a la del Text2...


Tambien habias preguntado como reemplazar una palabra, para eso usas la instruccion Replace:

   Text1 = Replace(Text1, Text2, Text3)

   'Text1 es donde vamos a reemplazar la palabra
   'Text2 es la palabra que queremos reemplazar
   'Text3 es la palabra que se va a poner en lugar de la del Text2


Bueno espero que se entienda y que te sirva.

Un saluod.-

Hendrix

Cojonudo!!!! Muchas gracias!!!! ;) ;) ;) ;)

Salu2

Hendrix

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

.Slasher-K.

#3

  ' Reemplaza Space por HendriX
  '
  sData = Replace$(sData, "Space", "HendriX")


o


Function ReplaceStr(ByVal Text As String, ByVal Find As String, ByVal NewStr As String) As String
         Dim lPos&

  lPos = InStr(1, Text, Find)

  If lPos Then
    Mid(Text, lPos, Len(Find)) = NewStr
    ReplaceStr = Text
  End If
End Function


En el caso de TextBox


      Dim lPos&, sFind$

  sFind = "Space"
  lPos = Instr(1, txtData, sFind)

  If lPos Then
    txtData.SelStart = lPos
    txtData.SelLength = Len(sFind)
  End If


Hendrix

Muchas gracias maestro Slash!!!! ;D ;D ;D ;) ;) ;)

Salu2

Hendrix

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián