手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>VB>列表

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

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
方法一:
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
If found Len(SearchFor) - 1 < Len(SearchLine) Then _
vSearchLine = vSearchLine Right$(SearchLine, Len(SearchLine) - found - Len(SearchFor) 1)
End If
sReplace = vSearchLine

End Function

上一篇: 把数字转成英文字
下一篇: 切分字符串

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!