VB 删除字符串 怎么加循环?

来源:百度知道 编辑:UC知道 时间:2024/05/03 16:54:34
【实验目的】
掌握子过程的创建及调用,了解传值和传地址的区别.
【实验内容】
编写一个子过程delestr(s1,s2),将字符串s1中出现的s2子字符串删去。如图所示(图是三个文本框,分别存放“原字符串”、“要删除的字符串”和“结果”;一个“删除”命令按钮)。

【提示】
用instr函数取得s2在s1中开始的位置,用left和right函数取出删除s2后左边和右边的剩余部分。在s1中可能有若干个s2,需用循环进行删除;再编一个delestr函数进行比较。
请问,用Sub子过程怎么做这道题啊?不用Function函数过程

你的作业用的方法是最笨的方法了,我这有三种方法,你选择一下

Function DeleStr(S1 As String, S2 As String) As String
DeleStr = S1
k = InStr(DeleStr, S2)
Do While k > 0
If k > 1 Then
DeleStr = Left(DeleStr, k - 1) & Right(DeleStr, Len(DeleStr) - k - Len(S2) + 1)
Else
DeleStr = Right(DeleStr, Len(DeleStr) - Len(S2))
End If
k = InStr(DeleStr, S2)
Loop
End Function

Function DeleStr2(S1 As String, S2 As String) As String
DeleStr2 = Replace(S1, S2, "")
End Function
Function DeleStr3(S1 As String, S2 As String) As String
DeleStr3 = Join(Split(S1, S2), "")
End Function

Private Sub Command1_Click()
Print DeleStr(Text1.Text, Text2.Text)
Print DeleStr2(Text1.Text, Text2.Text)
Print DeleStr3(Text1.Text, Text2.Text)
End Sub