Título: remplazar una sola palabra de un texto o archivo
Publicado por: ELGRANSOLRAC en 13 Agosto 2007, 17:10 pm
Hola a todos:
Tengo una aplicacion que busta una cadena de texto y la remplaza por otra,yo lo que quiero es que en el texto si hay varias cadenas repetidas solo remplace la primera cadena que encuentre. Espero haberme explicado bien gracias
Título: Re: remplazar una sola palabra de un texto o archivo
Publicado por: ~~ en 13 Agosto 2007, 17:28 pm
Utiliza replace :P
Título: Re: remplazar una sola palabra de un texto o archivo
Publicado por: ELGRANSOLRAC en 13 Agosto 2007, 22:51 pm
me remplaza todas las cadenas iguales cuando encuentra 5102 me lo remplaza pero yo solo quiero que me remplace ese no todos los 5102 que encuentre quiero que se pare cuando remplace el primero este es mi codigo: Private Sub cmdReplace_Click() If txtReplace.Text = "" Then MsgBox "Please enter a replace string.", vbExclamation, "Find and Replace" ElseIf txtFind = "" Then MsgBox "Please enter a search string.", vbExclamation, "Find and Replace" Else rtfText.Text = FastReplace(rtfText.Text, txtFind.Text, txtReplace.Text) End If End Sub
Modulo
Public Function FastReplace(SSrch$, SFind$, SRepl$) As String
Dim Src() As Byte, Dst() As Byte, R() As Byte, F() As Byte Dim LenF&, LenR&, LenDst&, i&, j&, OutPos&
Const ChunkSize& = 4096
If SSrch = "" Or SFind = "" Then Exit Function
Src = SSrch: F = SFind: R = SRepl LenF = UBound(F): LenR = UBound(R) LenDst = ChunkSize: ReDim Dst(0 To LenDst - 1) For i = 0 To UBound(Src) Step 2
For j = 0 To LenF Step 2 If Src(i + j) <> F(j) Then Exit For Next j
If j > LenF Then 'Found
For j = 0 To LenR Step 2 If OutPos >= LenDst Then LenDst = LenDst + ChunkSize ReDim Preserve Dst(0 To LenDst) End If Dst(OutPos) = R(j): OutPos = OutPos + 2 Next j
i = i + LenF - 1
Else
If OutPos >= LenDst Then LenDst = LenDst + ChunkSize ReDim Preserve Dst(0 To LenDst) End If
Dst(OutPos) = Src(i): OutPos = OutPos + 2
End If Next i ReDim Preserve Dst(0 To OutPos - 2): SSrch = Dst FastReplace = SSrch$ End Function
gracias
Título: Re: remplazar una sola palabra de un texto o archivo
Publicado por: Freeze. en 13 Agosto 2007, 22:52 pm
Private Sub Command1_Click() Text2.Text = Replace(Text1.Text, "hola", "", , 1) End Sub
El text1 contiene= "hola hola como como" Y como veras al final de replace hay un 1 que quiere decir que remplazara el primero que encuentre... PD: ¿Ves todo el code que tienes? :xD :xD
Título: Re: remplazar una sola palabra de un texto o archivo
Publicado por: ELGRANSOLRAC en 13 Agosto 2007, 23:04 pm
ok,gracias
|