把符串中的一子串替换为另一子串

页面导航:首页 > 软件编程 > vb.net > 把符串中的一子串替换为另一子串

把符串中的一子串替换为另一子串

来源: 作者: 时间:2016-02-05 12:32 【

方法一:Public Function FastReplace(SSrch$, SFind$, SRepl$) As StringDim Src() As Byte, Dst() As Byte, R() As Byte, F() As ByteDim LenF, LenR, LenDst, i

 

方法一:

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

 

方法二:

SearchLine is input, SearchFor is what to search for, ReplaceWith is the replacement

 

Function sReplace(SearchLine As String, SearchFor As String, ReplaceWith As String)

Dim vSearchLine As String, found As Integer

 

found = InStr(SearchLine, SearchFor): vSearchLine = SearchLine

If found <> 0 Then

vSearchLine = ""

If found > 1 Then vSearchLine = Left(SearchLine, found - 1)

vSearchLine = vSearchLine + ReplaceWith

Tags:

相关文章

    文章评论

    
    <