VB编程如何实现查找并选择性替换

来源:百度知道 编辑:UC知道 时间:2024/06/22 12:37:46
具体是这样的,比如将很多都"@A&B@"换成"前A中B后"
最好是如下过程:首先查找"&",替换成"中",然后向前查找"@",将第一个找到的"@"替换成"前",然后向后查找"@",将第一个找到的替换成"后".然后循环重复刚才的三个步骤
我初学VB,希望能给出代码

帮你写了一个替换函数,也演示了怎么调用,Text1和Text2是文本框

Rem 将一个形如“A@B&C@D”的字符串替换为“A前B中C后D”
Private Function StrABA(ByVal ABA As String) As String
Dim abc$, s1$, s2$, s3$, s4, n%, n1%, n2%

abc = ABA
Do While InStr(abc, "&") > 0
n = InStr(abc, "&")
n1 = InStrRev(abc, "@", n) '向前搜索
n2 = InStr(n, abc, "@") '向后搜索
s1 = Mid(abc, 1, n1 - 1)
s2 = Mid(abc, n1 + 1, n - n1 - 1)
s3 = Mid(abc, n + 1, n2 - n - 1)
s4 = Mid(abc, n2 + 1)
abc = s1 & "前" & s2 & "中" & s3 & "后" & s4
'abc = s1 & "1" & s2 & "2" & s3 & "3" & s4
Loop
StrABA = abc
End Function

Private Sub Command1_Click()
Text2 = StrABA(Text1)
End Sub

Private Sub Form_Load()
Text1 = "多都@A&B@换成@多都@A&B@换成多都@A&B@换成多都@A&B@换成多都@A&B@换成"
End Sub